DesignerCategoryAttribute Класс

Определение

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

public ref class DesignerCategoryAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)]
public sealed class DesignerCategoryAttribute : Attribute
public sealed class DesignerCategoryAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)>]
type DesignerCategoryAttribute = class
    inherit Attribute
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 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 = 
       (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

Комментарии

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

При пометке класса с помощью этого атрибута ему присваивается постоянный элемент. Если требуется проверить значение этого атрибута в коде, необходимо указать постоянный элемент. В столбце Описание в таблице ниже приводится элемент Constant, для каждого значения которого задано значение.

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

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

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

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

DesignerCategoryAttribute()

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

DesignerCategoryAttribute(String)

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

Поля

Component

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

Default

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

Form

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

Generic

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

Свойства

Category

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

TypeId

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

TypeId

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

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

Методы

Equals(Object)

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

GetHashCode()

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

GetType()

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

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

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

IsDefaultAttribute()

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

(Унаследовано от Attribute)
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)

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

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