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

Для получения информации о валидации свойств см. Раздел «Валидация значений свойств».

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

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

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

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

Для примера, ValidationExample класс задает свойство, которое должно быть массивом типа double, которое 1 на любое количество элементов и должно быть вещественным числом, которое больше 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;

См. также

|

Похожие темы