Для получения информации о валидации свойств см. Раздел «Валидация значений свойств».
Можно определить, какая проверка применяется к свойству, обратившись к метаданным валидации. Образцы 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;
meta.property
| meta.Validation