TypeDescriptor.GetAttributes Метод

Определение

Возвращает коллекцию атрибутов для компонента или типа.Returns the collection of attributes for a component or a type.

Перегрузки

GetAttributes(Object)

Возвращает коллекцию атрибутов для указанного компонента.Returns the collection of attributes for the specified component.

GetAttributes(Type)

Возвращает коллекцию атрибутов для указанного типа компонента.Returns a collection of attributes for the specified type of component.

GetAttributes(Object, Boolean)

Возвращает коллекцию атрибутов для указанного компонента и логическое значение, указывающее, что был создан настраиваемый дескриптор типа.Returns a collection of attributes for the specified component and a Boolean indicating that a custom type descriptor has been created.

GetAttributes(Object)

Возвращает коллекцию атрибутов для указанного компонента.Returns the collection of attributes for the specified component.

public:
 static System::ComponentModel::AttributeCollection ^ GetAttributes(System::Object ^ component);
public static System.ComponentModel.AttributeCollection GetAttributes (object component);
static member GetAttributes : obj -> System.ComponentModel.AttributeCollection
Public Shared Function GetAttributes (component As Object) As AttributeCollection

Параметры

component
Object

Компонент, для которого требуется получить атрибуты.The component for which you want to get attributes.

Возвращаемое значение

AttributeCollection

Коллекция AttributeCollection, содержащая атрибуты для этого компонента.An AttributeCollection containing the attributes for the component. Если параметр component имеет значение null, этот метод возвращает пустую коллекцию.If component is null, this method returns an empty collection.

Примеры

Пример этого метода см. в описании Matches метода.For an example of this method, see the Matches method.

Комментарии

Атрибуты, возвращаемые GetAttributes методом, могут динамически изменяться из перечня источников исходного компонента по поставщикам расширений ( IExtenderProvider ), службам фильтрации ( ITypeDescriptorFilterService ) и фильтрам атрибутов.The attributes returned by the GetAttributes method may be dynamically modified from the original component's source listing by extender providers (IExtenderProvider), filter services (ITypeDescriptorFilterService), and attribute filters.

При определении настраиваемого атрибута со AttributeUsageAttribute.AllowMultiple значением true , необходимо переопределить Attribute.TypeId свойство, чтобы сделать его уникальным.When you define a custom attribute with AttributeUsageAttribute.AllowMultiple set to true, you must override the Attribute.TypeId property to make it unique. Если все экземпляры атрибута являются уникальными, переопределите, Attribute.TypeId чтобы возвратить идентификатор объекта атрибута.If all instances of your attribute are unique, override Attribute.TypeId to return the object identity of your attribute. Если только некоторые экземпляры атрибута являются уникальными, возвращается значение из Attribute.TypeId , возвращающее равенство в этих случаях.If only some instances of your attribute are unique, return a value from Attribute.TypeId that would return equality in those cases. Например, некоторые атрибуты имеют параметр конструктора, который выступает в качестве уникального ключа.For example, some attributes have a constructor parameter that acts as a unique key. Для этих атрибутов верните значение параметра конструктора из Attribute.TypeId Свойства.For these attributes, return the value of the constructor parameter from the Attribute.TypeId property.

Примечание

Реализация по умолчанию Attribute.TypeId Возвращает удостоверение типа независимо от значения AttributeUsageAttribute.AllowMultiple Свойства.The default implementation of Attribute.TypeId returns the type identity regardless of the value of the AttributeUsageAttribute.AllowMultiple property. Чтобы вернуть несколько экземпляров AttributeUsageAttribute.AllowMultiple атрибута из AttributeCollection , атрибут должен переопределить Attribute.TypeId свойство.In order to return multiple instances of an AttributeUsageAttribute.AllowMultiple attribute from the AttributeCollection, your attribute must override the Attribute.TypeId property.

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

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

GetAttributes(Type)

Возвращает коллекцию атрибутов для указанного типа компонента.Returns a collection of attributes for the specified type of component.

public:
 static System::ComponentModel::AttributeCollection ^ GetAttributes(Type ^ componentType);
public static System.ComponentModel.AttributeCollection GetAttributes (Type componentType);
static member GetAttributes : Type -> System.ComponentModel.AttributeCollection
Public Shared Function GetAttributes (componentType As Type) As AttributeCollection

Параметры

componentType
Type

Тип Type целевого компонента.The Type of the target component.

Возвращаемое значение

AttributeCollection

Коллекция AttributeCollection, содержащая атрибуты для данного типа компонента.An AttributeCollection with the attributes for the type of the component. Если компонент — null, этот метод возвращает пустую коллекцию.If the component is null, this method returns an empty collection.

Комментарии

Вызывайте эту версию этого метода только в том случае, если у вас нет экземпляра объекта.Call this version of this method only when you do not have an instance of the object.

Для атрибутов со AttributeUsageAttribute.AllowMultiple значением true , коллекция атрибутов удаляет дублирующиеся экземпляры.For attributes with AttributeUsageAttribute.AllowMultiple set to true, the attribute collection removes duplicate instances. Это экземпляры, в которых Attribute.TypeId свойство возвращает равные значения.These are instances in which the Attribute.TypeId property returns equal values.

При определении настраиваемого атрибута со AttributeUsageAttribute.AllowMultiple значением true , необходимо переопределить Attribute.TypeId свойство, чтобы сделать его уникальным.When you define a custom attribute with AttributeUsageAttribute.AllowMultiple set to true, you must override the Attribute.TypeId property to make it unique. Если все экземпляры атрибута являются уникальными, переопределите, Attribute.TypeId чтобы возвратить идентификатор объекта атрибута.If all instances of your attribute are unique, override Attribute.TypeId to return the object identity of your attribute. Если только некоторые экземпляры атрибута являются уникальными, возвращается значение из Attribute.TypeId , возвращающее равенство в этих случаях.If only some instances of your attribute are unique, return a value from Attribute.TypeId that would return equality in those cases. Например, некоторые атрибуты имеют параметр конструктора, который выступает в качестве уникального ключа.For example, some attributes have a constructor parameter that acts as a unique key. Для этих атрибутов верните значение параметра конструктора из Attribute.TypeId Свойства.For these attributes, return the value of the constructor parameter from the Attribute.TypeId property.

Примечание

Реализация по умолчанию Attribute.TypeId Возвращает удостоверение типа независимо от значения AttributeUsageAttribute.AllowMultiple Свойства.The default implementation of Attribute.TypeId returns the type identity regardless of the value of the AttributeUsageAttribute.AllowMultiple property. Чтобы вернуть несколько экземпляров AttributeUsageAttribute.AllowMultiple атрибута из AttributeCollection , атрибут должен переопределить Attribute.TypeId свойство.In order to return multiple instances of an AttributeUsageAttribute.AllowMultiple attribute from the AttributeCollection, your attribute must override the Attribute.TypeId property.

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

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

GetAttributes(Object, Boolean)

Возвращает коллекцию атрибутов для указанного компонента и логическое значение, указывающее, что был создан настраиваемый дескриптор типа.Returns a collection of attributes for the specified component and a Boolean indicating that a custom type descriptor has been created.

public:
 static System::ComponentModel::AttributeCollection ^ GetAttributes(System::Object ^ component, bool noCustomTypeDesc);
public static System.ComponentModel.AttributeCollection GetAttributes (object component, bool noCustomTypeDesc);
static member GetAttributes : obj * bool -> System.ComponentModel.AttributeCollection
Public Shared Function GetAttributes (component As Object, noCustomTypeDesc As Boolean) As AttributeCollection

Параметры

component
Object

Компонент, для которого требуется получить атрибуты.The component for which you want to get attributes.

noCustomTypeDesc
Boolean

Значение true, чтобы использовать базовый набор атрибутов из настраиваемого дескриптора типа, если component имеет тип ICustomTypeDescriptor; в противном случае — значение false.true to use a baseline set of attributes from the custom type descriptor if component is of type ICustomTypeDescriptor; otherwise, false.

Возвращаемое значение

AttributeCollection

Коллекция AttributeCollection, содержащая атрибуты для данного компонента.An AttributeCollection with the attributes for the component. Если компонент — null, этот метод возвращает пустую коллекцию.If the component is null, this method returns an empty collection.

Комментарии

Атрибуты, возвращаемые GetAttributes методом, могут динамически изменяться из списка источников исходных компонентов по поставщикам расширений ( IExtenderProvider ), фильтровать службы ( ITypeDescriptorFilterService ) и фильтрам атрибутов.The attributes returned by the GetAttributes method may be dynamically modified from the original components source listing by extender providers (IExtenderProvider), filter services (ITypeDescriptorFilterService), and attribute filters.

При определении настраиваемого атрибута со AttributeUsageAttribute.AllowMultiple значением true , необходимо переопределить Attribute.TypeId свойство, чтобы сделать его уникальным.When you define a custom attribute with AttributeUsageAttribute.AllowMultiple set to true, you must override the Attribute.TypeId property to make it unique. Если все экземпляры атрибута являются уникальными, переопределите, Attribute.TypeId чтобы возвратить идентификатор объекта атрибута.If all instances of your attribute are unique, override Attribute.TypeId to return the object identity of your attribute. Если только некоторые экземпляры атрибута являются уникальными, возвращается значение из Attribute.TypeId , возвращающее равенство в этих случаях.If only some instances of your attribute are unique, return a value from Attribute.TypeId that would return equality in those cases. Например, некоторые атрибуты имеют параметр конструктора, который выступает в качестве уникального ключа.For example, some attributes have a constructor parameter that acts as a unique key. Для этих атрибутов верните значение параметра конструктора из Attribute.TypeId Свойства.For these attributes, return the value of the constructor parameter from the Attribute.TypeId property.

Примечание

Реализация по умолчанию Attribute.TypeId Возвращает удостоверение типа независимо от значения AttributeUsageAttribute.AllowMultiple Свойства.The default implementation of Attribute.TypeId returns the type identity regardless of the value of the AttributeUsageAttribute.AllowMultiple property. Чтобы вернуть несколько экземпляров AttributeUsageAttribute.AllowMultiple атрибута из AttributeCollection , атрибут должен переопределить Attribute.TypeId свойство.In order to return multiple instances of an AttributeUsageAttribute.AllowMultiple attribute from the AttributeCollection, your attribute must override the Attribute.TypeId property.

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

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