What does square bracket [] mean in the below code?

余生长醉 提交于 2019-11-26 11:09:53

问题


I got below code from http://msdn.microsoft.com/en-us/library/dd584174(office.11).aspx for adding custom property in webpart tool pane. What does square bracket ([]) mean in the below code?

[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;
            }
        }

回答1:


As @Spencer Ruport said, they're attributes. They're used within .NET for declarative programming.

You can find information on each of these attributes at MSDN. However, you should know that the name of the attribute can be shortened. In your case, for example, Category is the short form of the class name CategoryAttribute and XmlElement is the short form of the class name XmlElementAttribute. When declaring attributes, the Attribute portion of the class name can be left out.

I've used most of these attributes in conjunction with the PropertyGrid control (see here for an example), although in your case, they are used for a Web Part property pane. The purpose is still the same. The attributes are used by the control to know how to display the property to the user. By using a combination of the various attributes that the control understands, it is possible to declaratively dictate this behavior.

I hope that helps a little bit, but Spencer is correct, you'll learn a lot more reading about attributes via Google than I can explain here.




回答2:


They're called attributes.

Here's a quick example of how they can be used: http://www.codeproject.com/KB/cs/attributes.aspx



来源:https://stackoverflow.com/questions/2415239/what-does-square-bracket-mean-in-the-below-code

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!