2017-01-25 2 views

答えて

2

いいえ、できません。一部の組み込みMATLABクラス(例えばmatlab.unittest.TestCaseから継承するクラス)は、カスタム属性(例:TestParameterなど)を持つプロパティとメソッドを持っていますが、独自のカスタムプロパティまたはメソッド属性を作成する機能はまだありません。

ただし、これを行う理由によっては、ドキュメント化されていない機能を悪用して、必要なものを達成できる場合があります。

すべてのクラスのプロパティとメソッド(およびイベント)には、文書化されていない属性のペアDescriptionDetailedDescriptionがあり、値として文字列が必要です。したがって、たとえば、あなたが持つことができます。

classdef myclass 
    properties (Description='SomeBlockA') 
     var1=1; 
    end 
    properties (Description='SomeBlockB') 
     var2=2; 
    end 
end 

クラスは、この時点では正しく機能しますが、「不明な属性名 『説明』」を示す、エディタに赤い下線を与えるだろう。これは機能的な効果はありませんが、迷惑です。あなたはこのようなあなたのコード内でプラグマ%#ok<*ATUNK>(トリビュートUNK nownで)を含むことによってそれを抑制することができます

classdef myclass 
%#ok<*ATUNK> 
    properties (Description='SomeBlockA') 
     var1=1; 
    end 
    properties (Description='SomeBlockB') 
     var2=2; 
    end 
end 

あなたがする必要がある場合は、メタクラスを使用して、プロパティのDescription属性を照会することができます

>> a = ?myclass; 
>> a.PropertyList(1).Description 
ans = 
SomeBlockA 
>> a.PropertyList(2).Description 
ans = 
SomeBlockB 

希望すること!

+0

こんにちはサム。お返事をありがとうございます。きちんとしたトリックですが、残念ながら私のアプリケーションには使用できません。彼らは後でその機能を開くことを望みましょう。ありがとう –

関連する問題