2010-03-10 18 views
19

Mam poniżej kod z http://msdn.microsoft.com/en-us/library/dd584174(office.11).aspx dla dodawania właściwości niestandardowej w okienku narzędzi Webpart. Co oznacza nawias kwadratowy ([]) w poniższym kodzie?Co oznacza nawias kwadratowy [] w poniższym kodzie?

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

Odpowiedz

11

Jak powiedział @Spencer Ruport, są atrybuty. Są używane w .NET dla declarative programming.

Informacje na temat każdego z tych atrybutów można znaleźć na stronie MSDN. Powinieneś jednak wiedzieć, że nazwa tego atrybutu może zostać skrócona. W twoim przypadku, na przykład, Category jest krótką formą nazwy klasy CategoryAttribute i XmlElement jest krótką formą nazwy klasy XmlElementAttribute. Podczas deklarowania atrybutów część nazwy klasy Attribute można pominąć.

Użyłem większości tych atrybutów w połączeniu z kontrolką PropertyGrid (patrz na przykład here), chociaż w twoim przypadku są one używane do panelu właściwości części Web Part. Cel wciąż jest ten sam. Atrybuty są używane przez formant, aby wiedzieć, jak wyświetlić właściwość użytkownikowi. Używając kombinacji różnych atrybutów, które kontrolka rozumie, możliwe jest deklarowanie tego zachowania w postaci .

Mam nadzieję, że to trochę pomaga, ale Spencer ma rację, dzięki temu dowiesz się o wiele więcej na temat atrybutów za pośrednictwem Google, niż mogę to wyjaśnić.

+3

Link jest martwy, strona z pamięci podręcznej jest tutaj: http://archive.is/ULDED – heltonbiker

12

Nazywają się atrybutami.

Oto krótki przykład tego, jak można je stosować: http://www.codeproject.com/KB/cs/attributes.aspx

+1

Czy możesz wyjaśnić trochę więcej? – Hojo

+0

http://msdn.microsoft.com/en-us/library/5x6cd29c.aspx to dobry punkt wyjścia –

+0

Zobacz także tutaj: http://stackoverflow.com/questions/20346/net-what-are-attributes –