Для получения информации о валидации свойства см. Проверку значений свойств.
Можно определить, какая валидация применяется к свойству путем доступа к метаданным валидации. Экземпляры класса meta.Validation
предоставляют следующую информацию о валидации свойства.
Требование класса свойства, заданного как объект meta.class
Требования размера значения свойства, заданного как массив meta.FixedDimension
и объектов meta.UnrestrictedDimension
Указатели на функцию, ссылающиеся на функции валидации, применились к значениям свойств, заданным как cell-массив указателей на функцию.
Например, класс 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
Получите 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.Validation
| meta.property