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


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

Комментарии

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

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

Класс 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)

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

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