Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

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;             }         } 
like image 602
Hojo Avatar asked Mar 10 '10 07:03

Hojo


People also ask

What do square brackets mean in code?

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.

What do square brackets in Java mean?

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.


2 Answers

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.

like image 51
Matt Davis Avatar answered Dec 07 '22 20:12

Matt Davis


They're called attributes.

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

like image 34
Spencer Ruport Avatar answered Dec 07 '22 21:12

Spencer Ruport