Интерфейс метаданных к валидации свойства

Для получения информации о валидации свойства см. Проверку значений свойств.

Можно определить, какая валидация применяется к свойству путем доступа к метаданным валидации. Экземпляры класса meta.Validation предоставляют следующую информацию о валидации свойства.

  • Требование класса свойства, заданного как объект meta.class

  • Требования размера значения свойства, заданного как массив meta.FixedDimension и объектов meta.UnrestrictedDimension

  • Указатели на функцию, ссылающиеся на функции валидации, применились к значениям свойств, заданным как массив ячеек указателей на функцию.

Например, класс ValidationExample задает свойство, которое должно быть массивом, удваивается, который является 1-any числом элементов и должен быть вещественным числом, которое больше, чем 10.

classdef ValidationExample
   properties
      Prop (1,:) double {mustBeReal, mustBeGreaterThan(Prop, 10)} = 200;
   end
end

Доступ к объекту meta.Validation от объекта meta.property свойства. Получите информацию валидации от свойств объектов meta.Validation. Набор эта информация в массив ячеек.

  • Получите информацию размера из свойства Size

  • Получите имя класса от свойства Class

  • Получите массив ячеек указателей на функцию для функций валидации из свойства ValidatorFunctions.

mc = ?ValidationExample;
mp = findobj(mc.PropertyList,'Name','Prop');
sz = mp.Validation.Size;
len = length(sz);
dim = cell(1:len);
   for k = 1:len
      switch class(sz(k))
         case 'meta.FixedDimension'
            dim{k} = sz(k).Length;
         case 'meta.UnrestrictedDimension'
            dim{k} = ':';
      end
   end
dim{end+1} = mp.Validation.Class.Name;
dim{end+1} = mp.Validation.ValidatorFunctions;

Смотрите также

|

Похожие темы

Была ли эта тема полезной?