¿Qué significa corchete en el siguiente código?

Obtuve el código siguiente de http://msdn.microsoft.com/en-us/library/dd584174(office.11).aspx para agregar propiedades personalizadas en el panel de herramientas de webpart. ¿Qué significa corchete ( [] ) en el siguiente código?

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

Como dijo @Spencer Ruport, son atributos. Se usan dentro de .NET para progtwigción declarativa .

Puede encontrar información sobre cada uno de estos atributos en MSDN. Sin embargo, debe saber que el nombre del atributo puede acortarse. En su caso, por ejemplo, Category es la forma abreviada del nombre de clase CategoryAttribute y XmlElement es la forma abreviada del nombre de clase XmlElementAttribute . Al declarar atributos, la porción de Attribute del nombre de clase puede omitirse.

He utilizado la mayoría de estos atributos junto con el control PropertyGrid (consulte aquí un ejemplo), aunque en su caso, se usan para un panel de propiedades del elemento web. El propósito sigue siendo el mismo. El control utiliza los atributos para saber cómo mostrar la propiedad al usuario. Al usar una combinación de los diversos atributos que el control entiende, es posible dictar declarativamente este comportamiento.

Espero que eso ayude un poco, pero Spencer está en lo cierto, aprenderá mucho más sobre los atributos a través de Google de lo que puedo explicar aquí.

Se llaman atributos.

Aquí hay un ejemplo rápido de cómo se pueden usar: http://www.codeproject.com/KB/cs/attributes.aspx