Skip to content

Attribute note

属性(attribute)

クラスやメンバーに追加情報を与える。 (public や private も、それにあたる。)

 ・条件コンパイルなどの、コンパイラへの指示に(Conditional や Obsolete)
 ・作者情報などをメタデータとしてプログラムに埋め込む(AssemblyTitle など)
 ・リフレクションを利用して、プログラム実行時に属性情報を取り出して利用する。
[属性名(属性パラメータ)]
メンバーの定義

(例)

[DataContract]
class User
{
    public int Id { get; set; }
    public string Name { get; set; }
}

, で区切るか、複数の [] を並べることで複数の属性を指定することが出来る。

[Conditional("DEBUG"), Conditional("TEST")]
void DebugOutput(string message)
[Conditional("DEBUG")]
[Conditional("TEST")]
void DebugOutput(string message)

ASP.NET

System.Web.Services.WebMethodAttribute   //XML Web Service を使用してリモートにあるメソッドを呼び出すことが出来ます。
``

### WCF
```cs
System.ServiceModel.OperationContractAttribute
System.ServiceModel.ServiceContractAttribute
System.Runtime.Serialization.DataContractAttribute

データ検証

RequiredAttribute     //必須である(null や空文字を認めない)ことを示します。
RangeAttribute        //値の範囲を指定します。
StringLengthAttribute //文字列の最大長/最小長を指定します。