Поделиться через


Атрибуты времени разработки для компонентов

Чтобы получить сведения о применении атрибутов для предоставления метаданных общеязыковой среде выполнения, см. раздел Расширение метаданных с помощью атрибутов. Поскольку компоненты могут отображаться в конструкторе, например в Visual Studio, для них требуются атрибуты, предоставляющие метаданные средствам времени разработки. В этом разделе приводится описание широко используемых атрибутов времени разработки.

Атрибуты и поддержка конструктора

Атрибуты времени разработки очень важны для правильного отображения элементов управления и их членов во время разработки, поскольку они предоставляют полезные сведения средству визуального проектирования.

В следующем фрагменте кода атрибут CategoryAttribute включает обозреватель свойств для отображения свойства TextAlignment в категории "Alignment". Атрибут DescriptionAttribute позволяет обозревателю свойств выдать краткое описание свойства при щелчке этого свойства.

[
Category("Alignment"),
Description("Specifies the alignment of text.")
]
public ContentAlignment TextAlignment { //... }
<Category("Alignment"), _
Description("Specifies the alignment of text.")> _
Public Property _
TextAlignment As ContentAlignment
   ' ...
End Property

Примечание

В средах Visual C# и Visual Basic на класс атрибута с именем ИмяАтрибутаAttribute в синтаксисе атрибутов можно ссылаться просто по имени ИмяАтрибута.

Некоторые атрибуты времени разработки применяются на уровне класса. Атрибут DesignerAttribute применяется на уровне класса и уведомляет конструктор форм, какой класс конструктора должен быть использован для отображения элемента управления. Компоненты связаны с конструктором по умолчанию (System.ComponentModel.Design.ComponentDesigner), а элементы управления Windows Forms и серверные элементы управления ASP.NET связаны с их собственными конструкторами, используемыми по умолчанию. Атрибут DesignerAttribute следует применять только в случае определения пользовательского конструктора для компонента или элемента управления.

// Associates the designer class SimpleControl.Design.SimpleDesigner
// with Simple.
[ Designer(typeof(SimpleControl.Design.SimpleDesigner))]
    public class Simple : WebControl { //... }
' Associates the designer class SimpleControl.Design.SimpleDesigner
' with Simple.
<Designer(GetType(SimpleControl.Design.SimpleDesigner))> _
Public Class Simple
    Inherits WebControl
    ' ...
End Class

Общие атрибуты для свойств и событий

В следующей таблице перечислены атрибуты, которые обычно применяются к свойствам и событиям.

Атрибут

Применение

Описание

BrowsableAttribute

Свойства и события

Указывает, следует ли отображать свойство или событие в обозревателе свойств.

CategoryAttribute

Свойства и события

Указывает имя категории, в которую следует включить свойство или событие. При использовании категорий свойства и события компонента могут отображаться в обозревателе свойств логически сгруппированными.

DescriptionAttribute

Свойства и события

Определяет небольшой фрагмент текста для отображения в нижней части обозревателя свойств, когда пользователь выбирает свойство или событие.

BindableAttribute

Свойства

Указывает, может ли быть выполнена привязка к свойству.

DefaultPropertyAttribute

Свойства

(Этот атрибут следует вставлять перед объявлением класса.)

Задает для компонента свойство по умолчанию. Это свойство будет выбрано в обозревателе свойств, когда пользователь щелкнет элемент управления.

DefaultValueAttribute

Свойства

Устанавливает простое значение по умолчанию для свойства.

EditorAttribute

Свойства

Задает редактор, который будет использован для редактирования (изменения) свойства в визуальном конструкторе.

LocalizableAttribute

Свойства

Указывает, что свойство может быть локализовано. Любые свойства, имеющие этот атрибут, автоматически сохраняются в ресурсном файле, когда пользователь решает локализовать форму.

DesignerSerializationVisibilityAttribute

Свойства

Указывает, должно ли сохраняться в коде свойство, отображаемое в обозревателе свойств (и каким образом оно должно сохраняться).

TypeConverterAttribute

Свойства

Задает преобразователь типа, используемый для преобразования типа свойства в другой тип данных.

DefaultEventAttribute

События

(Этот атрибут следует вставлять перед объявлением класса.)

Задает для компонента событие по умолчанию. Это событие будет выбрано в обозревателе свойств, когда пользователь щелкнет компонент.

Если не указано обратное, атрибуты для свойств и событий размещаются в коде непосредственно перед объявлением свойства или события, как показано в следующем примере.

// To apply CategoryAttribute to the BorderColor 
// property, place it immediately before the declaration
// of the BorderColor property.
[Category("Appearance")] 
public Color BorderColor;

// To apply DescriptionAttribute to the Click event, 
// place it immediately before the declaration
// of the Click event.
[Description("The Click event of the button")]
public event EventHandler Click;
' To apply CategoryAttribute  to the BorderColor 
' property, place it before the property declaration.
<Category("Appearance")> Public BorderColor As Color

' To apply DescriptionAttribute to the Click event, 
' place it before the event declaration.
<Description("The Click event of the button")> Public Event Click

Сведения об атрибутах времени разработки, которые связывают конструкторы с компонентами и элементами управления, см. в разделе Расширение поддержки времени разработки.

Кроме использования классов атрибутов, определенных в библиотеке классов .NET Framework, можно определять собственные классы атрибутов. Подробные сведения см. в документации по используемому языку программирования или в разделе Написание настраиваемых атрибутов.

См. также

Задачи

Практическое руководство. Применение атрибутов к элементам управления Windows Forms

Основные понятия

Атрибуты и поддержка во время разработки

Атрибуты в элементах управления Windows Forms

Другие ресурсы

Расширение поддержки времени разработки