属性リスト (Visual Basic)

宣言されたプログラミング要素に適用する属性を指定します。 複数の属性を指定するときは、コンマで区切ります。 次に 1 つの属性の構文を示します。

構文

[ attributemodifier ] attributename [ ( attributearguments | attributeinitializer ) ]  

指定項目

パーツ 説明
attributemodifier ソース ファイルの先頭で適用される属性の場合は必須です。 Assembly または Module を指定できます。
attributename 必須です。 属性の名前。
attributearguments 任意。 この属性の位置引数の一覧です。 複数の引数はコンマで区切ります。
attributeinitializer 任意。 この属性の変数またはプロパティ初期化子の一覧です。 複数の初期化子を指定するときは、コンマで区切ります。

Remarks

1 つまたは複数の属性を、ほぼすべてのプログラミング要素 (型、プロシージャ、プロパティなど) に適用できます。 属性は、アセンブリのメタデータに指定され、コードに注釈を付けたり、特定のプログラミング要素の使用方法を指定したりするのに役立ちます。 Visual Basic と .NET Framework で定義された属性を適用したり、独自の属性を定義したりできます。

属性を使用するタイミングの詳細については、属性の概要に関するページを参照してください。 属性名については、「宣言された要素の名前」を参照してください。

ルール

  • 配置。 ほとんどの宣言されたプログラミング要素に属性を適用できます。 1 つまたは複数の属性を適用するには、要素宣言の先頭に属性ブロックを配置します。 属性リストの各エントリは、適用する属性、および属性のこの呼び出しに使用する修飾子と引数を指定します。

  • 山かっこ。 属性リストを指定する場合は、山かっこ ("<" および ">") で囲む必要があります。

  • 宣言の一部。 属性は、個別のステートメントではなく、要素宣言の一部である必要があります。 行連結シーケンス ("_") を使用して、宣言ステートメントを複数のソースコード行に拡張することができます。

  • 修飾子。 ソース ファイルの先頭でプログラミング要素に適用されるすべての属性に対して、属性修飾子 (Assembly または Module) が必要です。 ソース ファイルの先頭にない要素に適用される属性では、属性修飾子は使用できません。

  • 引数。 属性のすべての位置引数は、変数またはプロパティ初期化子の前に記述する必要があります。

次の例では、DllImportAttribute 属性を Function プロシージャのスケルトン定義に適用しています。

<DllImportAttribute("kernel32.dll", EntryPoint:="MoveFileW",
    SetLastError:=True, CharSet:=CharSet.Unicode,
    ExactSpelling:=True,
    CallingConvention:=CallingConvention.StdCall)>
Public Shared Function MoveFile(ByVal src As String,
  ByVal dst As String) As Boolean
    ' This function copies a file from the path src to the path dst.
    ' Leave this function empty. The DLLImport attribute forces calls
    ' to MoveFile to be forwarded to MoveFileW in KERNEL32.DLL.
End Function

DllImportAttribute は、属性付きプロシージャがアンマネージ ダイナミックリンク ライブラリ (DLL) のエントリ ポイントを表していることを示します。 属性は、DLL 名を位置引数として指定し、その他の情報を変数初期化子として指定しています。

関連項目