NETJVM 

ATTRIBUTE、CUSTOM-ATTRIBUTE 句

ATTRIBUTE または CUSTOM-ATTRIBUTE 句は、マネージ コードのネイティブ データ項目に関して、またはリフレクションを使用して可視化されるプロパティに関してのメタデータ (情報) を提供する属性を指定する。

書き方 1

{ ATTRIBUTE attribute-name(constructor-params, NAME property-name = property-value, ...)} ...

書き方 2 (下位互換用)

{ CUSTOM-ATTRIBUTE IS  class-name-1 [ ( {parameter-1} ...) ] }... 

書き方 1 の構文規則

  1. attribute-name は引用符なしで指定でき、名前の末尾の「属性」部分を省略してもよい。
  2. constructor-params は、必須の属性コンストラクターの標準パラメーターである。次に例を示す。

    attribute Marshal-Attribute(3)

  3. キーワード NAME に先行する名前および値のペアを使用して、必要な属性プロパティを設定する。property-name は引用符なしで指定できる。次に例を示す。

    attribute WebService(NAME Description="My service")

書き方 2 (下位互換用) の構文規則

  1. このパラメーター リストは、class-name-1 に対して定義されたコンストラクターと一致する必要がある。各 parameter-1 は、次のいずれかとする。
    • その属性のコンストラクターに対する引数である通常のパラメーター。次に例を示す。

      custom-attribute is Marshal-Attribute(3)

    • カスタム属性クラスで定義したプロパティに対応する名前付きパラメーター。次に例を示す。

      custom-attribute is webservice("Description"="My service")

一般規則

  1. 指定されたカスタム属性は、記述項の左辺を記述するメタデータの一部になり、リフレクターで表示できる。
  2. JVM 用の各種言語では注釈がサポートされており、COBOL の属性と同様に広く使用されている。