2010-03-10 21 views
19

Ho ottenuto sotto il codice da http://msdn.microsoft.com/en-us/library/dd584174(office.11).aspx per l'aggiunta di proprietà personalizzate nel pannello degli strumenti webpart. Cosa significa parentesi quadra ([]) nel codice seguente?Cosa significa parentesi quadra [] nel codice sottostante?

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

risposta

11

Come ha detto @Spencer Ruport, sono gli attributi. Vengono utilizzati all'interno di .NET per declarative programming.

È possibile trovare informazioni su ciascuno di questi attributi su MSDN. Tuttavia, dovresti sapere che il nome dell'attributo può essere abbreviato. Nel tuo caso, ad esempio, Category è la forma abbreviata del nome della classe CategoryAttribute e XmlElement è la forma abbreviata del nome della classe XmlElementAttribute. Quando si dichiarano gli attributi, la parte Attribute del nome classe può essere omessa.

Ho usato la maggior parte di questi attributi insieme al controllo PropertyGrid (vedere here per un esempio), sebbene nel tuo caso vengano utilizzati per un riquadro di proprietà della web part. Lo scopo è sempre lo stesso. Gli attributi vengono utilizzati dal controllo per sapere come visualizzare la proprietà all'utente. Usando una combinazione dei vari attributi che il controllo comprende, è possibile che dichiaratamente dettare questo comportamento.

Spero che questo aiuti un po ', ma Spencer è corretto, imparerai molto più a leggere sugli attributi tramite Google di quanto possa spiegare qui.

+3

Link è morto, la pagina cache è qui: http://archive.is/ULDED – heltonbiker

12

Sono chiamati attributi.

Ecco un rapido esempio di come possono essere utilizzati: http://www.codeproject.com/KB/cs/attributes.aspx

+1

Potresti spiegare un po 'di più? – Hojo

+0

http://msdn.microsoft.com/en-us/library/5x6cd29c.aspx è un buon punto di partenza –

+0

Vedere anche qui: http://stackoverflow.com/questions/20346/net-what-are-attributes –

Problemi correlati