Подтвердить что ты не робот

Что означает квадратная скобка [] в приведенном ниже коде?

Я получил код http://msdn.microsoft.com/en-us/library/dd584174(office.11).aspx для добавления настраиваемого свойства в панель инструментов веб-страницы. Что означает квадратная скобка ([]) в приведенном ниже коде?

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

Ответ 1

Как сказал @Spencer Ruport, они являются атрибутами. Они используются в .NET для декларативного программирования.

Вы можете найти информацию о каждом из этих атрибутов в MSDN. Однако вы должны знать, что имя атрибута может быть сокращено. В вашем случае, например, Category - это короткая форма имени класса CategoryAttribute, а XmlElement - это короткая форма имени класса XmlElementAttribute. При объявлении атрибутов часть Attribute имени класса может быть опущена.

Я использовал большинство этих атрибутов в сочетании с элементом управления PropertyGrid (см. здесь для примера), хотя в вашем случае, они используются для панели свойств веб-части. Цель все та же. Атрибуты используются элементом управления, чтобы знать, как отображать свойство для пользователя. Используя комбинацию различных атрибутов, которые понимает элемент управления, можно декларативно диктовать это поведение.

Я надеюсь, что это немного поможет, но Спенсер прав, вы узнаете гораздо больше об атрибутах через Google, чем я могу здесь объяснить.