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

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

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

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

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

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

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

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

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

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

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

  • Получите cell-массив указателей на функцию для функций валидации от 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;

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

|

Похожие темы