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; } }
These characters are encoded in both ASCII and Unicode. These brackets define important constructs in a programming language. For example, in C and languages influenced by C, "{}" denote a code block while "[]" refers to an array subscript.
Square brackets [] Square brackets are used for declaration of arrays and for selection of array elements. Curly brackets {} Curly brackets are used for collecting statements in blocks. For example, the definition of a class and of a method is placed between curly brackets.
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.
They're called attributes.
Here's a quick example of how they can be used: http://www.codeproject.com/KB/cs/attributes.aspx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With