が、私は(.NET 4.0フレームワークを使用して)、次の構文を見ておいてください。スクエアブラケットC#のコードを見ていたときに構文上のプロパティ宣言
[XmlIgnore, Bindable(false)]
public virtual FieldBase Field {get;set;}
プロパティヘッダー上記の角括弧の目的は何ですか?
が、私は(.NET 4.0フレームワークを使用して)、次の構文を見ておいてください。スクエアブラケットC#のコードを見ていたときに構文上のプロパティ宣言
[XmlIgnore, Bindable(false)]
public virtual FieldBase Field {get;set;}
プロパティヘッダー上記の角括弧の目的は何ですか?
これらはattributesです。これらはコードベースの要素に適用することができ、そうすることで記述的宣言のようなメタデータが適用されます。これらは複数の属性を持つことができます。 .NETフレームワークによって公開される多数の「組み込み」属性がありますが、独自の属性を定義することはできます。
実際に属性のタイプはSuchAThingAttribute
の完全修飾名で定義されますが、適用時にはというマイナスを指定する必要があります。これはSuchAThing
になります。そして、彼らはSystem.Attribute
から派生する必要があります(少なくとも準拠している必要があります)。
属性は '設定'を持つことができます。つまり、独自の属性を記述するときに属性を適用できるかどうか、および要素がこのタイプの属性を複数持つことができるかどうかを指定できます、 等々。
属性のメタデータは、ReflectionとGetCustomAttribute
のような方法で後で取得できます。リンクhereおよびhereはそうする例を示しています。
これらは属性です。 Attributes (C# and Visual Basic)をご覧ください。
あなたが見ているのはattributeです。角括弧は、特定のメンバ(この場合はプロパティアクセッサ)への属性の適用を指定するために必要な構文ですが、属性はクラスなどにも適用できます。
なぜ-1?正当化する必要はありません。 – user559142