Main Content

プロパティ検証へのメタデータ インターフェイス

プロパティ検証の詳細については、プロパティ値の検証を参照してください。

プロパティにどの検証が適用されるかは、検証メタデータにアクセスすることで判別できます。matlab.metadata.Validation クラスのインスタンスは、プロパティ検証に関する次の情報を提供します。

たとえば、ValidationExample クラスは、1 行 x 任意の列数の double の配列で、10 より大きな実数でなければならないプロパティを定義します。

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

プロパティの matlab.metadata.Property オブジェクトから matlab.metadata.Validation オブジェクトにアクセスします。matlab.metadata.Validation オブジェクトのプロパティから検証情報を取得します。この情報を cell 配列に収集し、表示します。

  • Size プロパティからサイズ情報を取得する

  • Class プロパティからクラス名を取得する

  • ValidatorFunctions プロパティから検証関数の関数ハンドルの cell 配列を取得する

mc = ?ValidationExample;
mp = findobj(mc.PropertyList,'Name','Prop');
sz = mp.Validation.Size;
len = length(sz);
dim = cell(1:len);
for k = 1:len
   if isa(sz(k),'matlab.metadata.FixedDimension') 
         dim{k} = sz(k).Length;
   else
         dim{k} = ':';
   end
end
dim{end+1} = mp.Validation.Class.Name;
dim{end+1} = mp.Validation.ValidatorFunctions;
dim
dim =

  1×4 cell array

    {[1]}    {':'}    {'double'}    {1×2 cell}

参考

|

関連するトピック