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 //文字列の最大長/最小長を指定します。