DesignerCategoryAttribute Класс

Определение

Указывает, что конструктор класса принадлежит определенной категории.

public ref class DesignerCategoryAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)]
public sealed class DesignerCategoryAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)>]
type DesignerCategoryAttribute = class
    inherit Attribute
Public NotInheritable Class DesignerCategoryAttribute
Inherits Attribute
Наследование
DesignerCategoryAttribute
Атрибуты

Примеры

В следующем примере создается класс с именем MyForm. MyForm имеет два атрибута, то есть, DesignerAttribute указывающее этот класс, использует DocumentDesignerэтот класс и указывает DesignerCategoryAttribute категорию Form .

[Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design",
IRootDesigner::typeid),
DesignerCategory("Form")]
ref class MyForm: public ContainerControl{
   // Insert code here.
};
[Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design",
    typeof(IRootDesigner)),
    DesignerCategory("Form")]

public class MyForm : ContainerControl
{
    // Insert code here.
}
<Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design", _
    GetType(IRootDesigner)), DesignerCategory("Form")> _
Public Class MyForm
    
    Inherits ContainerControl
    ' Insert code here.
End Class

В следующем примере создается экземпляр MyForm. Затем он получает атрибуты для класса, извлекает DesignerCategoryAttributeи выводит имя конструктора.

int main()
{
   // Creates a new form.
   MyForm^ myNewForm = gcnew MyForm;

   // Gets the attributes for the collection.
   AttributeCollection^ attributes = TypeDescriptor::GetAttributes( myNewForm );

   /* Prints the name of the designer by retrieving the 
       * DesignerCategoryAttribute from the AttributeCollection. */
   DesignerCategoryAttribute^ myAttribute = dynamic_cast<DesignerCategoryAttribute^>(attributes[ DesignerCategoryAttribute::typeid ]);
   Console::WriteLine( "The category of the designer for this class is: {0}", myAttribute->Category );
   return 0;
}
public static int Main()
{
    // Creates a new form.
    MyForm myNewForm = new();

    // Gets the attributes for the collection.
    AttributeCollection attributes = TypeDescriptor.GetAttributes(myNewForm);

    /* Prints the name of the designer by retrieving the 
     * DesignerCategoryAttribute from the AttributeCollection. */
    DesignerCategoryAttribute myAttribute =
       (DesignerCategoryAttribute)attributes[typeof(DesignerCategoryAttribute)];
    Console.WriteLine("The category of the designer for this class is: " + myAttribute.Category);

    return 0;
}
Public Shared Function Main() As Integer
    ' Creates a new form.
    Dim myNewForm As New MyForm()
    
    ' Gets the attributes for the collection.
    Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(myNewForm)
    
    ' Prints the name of the designer by retrieving the
    ' DesignerCategoryAttribute from the AttributeCollection. 
    Dim myAttribute As DesignerCategoryAttribute = _
        CType(attributes(GetType(DesignerCategoryAttribute)), DesignerCategoryAttribute)
    Console.WriteLine(("The category of the designer for this class is: " + myAttribute.Category))
    Return 0
End Function 'Main

Комментарии

Визуальный конструктор может использовать категорию конструктора для информирования среды разработки типа конструктора, который будет реализован. Если в классе не указана категория конструктора, среда разработки может или не разрешать разработку класса. Для любого имени можно создать категорию.

При помечаете класс с этим атрибутом, он имеет значение константного элемента. Если вы хотите проверить значение этого атрибута в коде, необходимо указать константный член. Столбец Description в таблице ниже содержит константный элемент, которому задано каждое значение.

Класс DesignerCategoryAttribute определяет следующие распространенные категории:

Category Description
Компонент Конструкторы, используемые с компонентами. Атрибут задается для элемента DesignerCategoryAttribute.Componentконстанты.
Form Конструкторы, используемые с формами. Атрибут задается для элемента DesignerCategoryAttribute.Formконстанты.
Дизайнер Конструкторы, используемые с конструкторами. Атрибут задается для элемента DesignerCategoryAttribute.Genericконстанты.
Пустая строка ("") Это категория по умолчанию.

Дополнительные сведения см. в разделе Атрибуты.

Конструкторы

Имя Описание
DesignerCategoryAttribute()

Инициализирует новый экземпляр DesignerCategoryAttribute класса с пустой строкой ("").

DesignerCategoryAttribute(String)

Инициализирует новый экземпляр DesignerCategoryAttribute класса с заданным именем категории.

Поля

Имя Описание
Component

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

Default

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

Form

Указывает, что компонент, помеченный этой категорией, использует конструктор форм. Это static поле доступно только для чтения.

Generic

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

Свойства

Имя Описание
Category

Возвращает имя категории.

TypeId

Возвращает уникальный идентификатор для этого атрибута.

Методы

Имя Описание
Equals(Object)

Возвращает значение, равное ли заданному объекту текущее DesignOnlyAttributeзначение.

GetHashCode()

Возвращает хэш-код для этого экземпляра.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

Определяет, является ли этот атрибут значением по умолчанию.

Match(Object)

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

(Унаследовано от Attribute)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

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

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

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

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от Attribute)

Применяется к

См. также раздел