web-dev-qa-db-ja.com

以下のコードで角括弧[]はどういう意味ですか?

Webパーツツールペインにカスタムプロパティを追加するために、 http://msdn.Microsoft.com/en-us/library/dd584174(office.11​​).aspx から以下のコードを取得しました。角括弧([])以下のコードの意味は?

[Category("Custom Properties")]
        [WebPartStorage(Storage.Personal)]
        [FriendlyNameAttribute("Custom Color")]
        [Description("Select a color from the dropdown list.")]
        [Browsable(true)]
        [XmlElement(typeof(System.Drawing.KnownColor))]
        public System.Drawing.KnownColor MyColor
        {
            get
            {
                return _myColor;
            }
            set
            {
                _myColor = value;
            }
        }
22
Hojo

@Spencer Ruportが言ったように、それらは属性です。それらは.NET内で 宣言型プログラミング のために使用されます。

これらの各属性に関する情報は、MSDNで見つけることができます。ただし、属性の名前は短縮できることを知っておく必要があります。たとえば、あなたの場合、Categoryはクラス名CategoryAttributeの短縮形であり、XmlElementはクラス名XmlElementAttributeの短縮形です。属性を宣言するときは、クラス名のAttribute部分を省略できます。

これらの属性のほとんどをPropertyGridコントロールと組み合わせて使用​​しました(例については ここ を参照)が、あなたの場合はWebパーツのプロパティペインに使用されます。目的は同じです。属性は、ユーザーにプロパティを表示する方法を知るためにコントロールによって使用されます。コントロールが理解するさまざまな属性の組み合わせを使用することにより、この動作を宣言的に指示することができます。

それが少し役立つことを願っていますが、スペンサーは正しいです。ここで説明できるよりも、Googleを介して属性について多くのことを学ぶことができます。

15
Matt Davis

それらは属性と呼ばれます。

これらの使用方法の簡単な例を次に示します。 http://www.codeproject.com/KB/cs/attributes.aspx

15
Spencer Ruport