exponenta event banner

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

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

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

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

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

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

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

См. также

|

Связанные темы