exponenta event banner

мет.Класс проверки

Пакет: мета
Суперклассы: handle

Описание проверки свойств

Описание

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

  • Ограничение класса, примененное к свойству

  • Требования к размеру значения свойства

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

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

Свойства

развернуть все

Ограничение класса, применяемое к свойству, указанное как meta.class объект. Если определение свойства не содержит ограничения класса, MATLAB ® устанавливает это свойство в объект meta.class 0-by-0.

Атрибуты:

GetAccesspublic
SetAccessprivate

Размеры значения свойства, указанного как разнородный массив типа meta.ArrayDimension или массивы типа meta.FixedDimension или meta.UnrestrictedDimension. Если определение свойства не задает размеры для свойства, MATLAB устанавливает для этого свойства значение 1-by-0 meta.ArrayDimension массив.

Атрибуты:

GetAccesspublic
SetAccessprivate

Функции проверки, указанные как массив ячеек функций, обрабатывающих ссылки на каждую функцию проверки. Если свойство не использует функции проверки, MATLAB устанавливает это свойство в массив ячеек 1 на 0.

Атрибуты:

GetAccesspublic
SetAccessprivate

Признаки

Sealedtrue
HandleCompatibletrue

Сведения об атрибутах класса см. в разделе Атрибуты класса.

Методы

isValidValue

tf = isValidValue(metaValidationObj,value)

Определите, является ли значение допустимым. Этот метод возвращает true если value является допустимым значением для свойства, проверка которого описана metaValidationObj.

Входные аргументы

  • metaValidationObj- meta.Validation объект для свойства

  • value - Потенциальное значение свойства для проверки на достоверность

Возвращаемое значение

  • true - Значение допустимо для этого свойства

  • false - Значение не является допустимым значением для этого свойства

validateValue

validateValue(metaValidationObj,value)

Проверьте, является ли значение допустимым, и выдайте ошибку, если она отсутствует. Этот метод выдает ошибку, если value не является допустимым значением для свойства, проверка которого описана metaValidationObj. Сообщение об ошибке совпадает с выданным, если значение присвоено свойству фактического объекта.

Входные аргументы

  • metaValidationObj- meta.Validation объект для свойства

  • value - Потенциальное значение свойства для проверки на достоверность

Возвращаемое значение

ничего

Примеры

ValidationExample класс определяет свойство, использовавшее проверку.

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

getErrorMessage функция определяет, является ли потенциальное значение допустимым, и отображает сообщение об ошибке, указывающее на причину недопустимых значений.

function getErrorMessage(possibleValue)
   mc = ?ValidationExample;
   mp = findobj(mc.PropertyList,'Name','Prop');
   mv = mp.Validation;
   if ~mv.isValidValue(possibleValue)
      try
         mv.validateValue(possibleValue)
      catch errorMessage
         fprintf('This value is not valid because: %s\n',...
            errorMessage.message);
      end
   else
      fprintf('%d is OK\n',possibleValue)
   end
end
Представлен в R2018a