2010-03-10 35 views
19

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?¿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; 
      } 
     } 

Respuesta

11

Como dijo @Spencer Ruport, son atributos. Se usan dentro de .NET para declarative programming.

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 parte Attribute del nombre de clase puede omitirse.

He utilizado la mayoría de estos atributos junto con el control PropertyGrid (consulte here para obtener un ejemplo), aunque en su caso, se utilizan 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 comprende, es posible declarativamente dictar este comportamiento.

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

+3

El enlace está muerto, la página almacenada en caché está aquí: http://archive.is/ULDED – heltonbiker

12

Se llaman atributos.

Aquí está un ejemplo rápido de cómo pueden ser utilizados: http://www.codeproject.com/KB/cs/attributes.aspx

+1

¿Podría explicar un poco más? – Hojo

+0

http://msdn.microsoft.com/en-us/library/5x6cd29c.aspx es un buen punto de partida –

+0

Vea también aquí: http://stackoverflow.com/questions/20346/net-what-are-attributes –

Cuestiones relacionadas