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.

戻り値

コンポーネントの属性を格納している AttributeCollectionAn AttributeCollection containing the attributes for the component. componentnull の場合、このメソッドは空のコレクションを返します。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.AllowMultipletrueに設定してカスタム属性を定義する場合は、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 をオーバーライドして、属性のオブジェクト id を返します。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 プロパティの値に関係なく、型 id が返されます。The default implementation of Attribute.TypeId returns the type identity regardless of the value of the AttributeUsageAttribute.AllowMultiple property. AttributeCollectionから AttributeUsageAttribute.AllowMultiple 属性の複数のインスタンスを返すには、属性で 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

対象コンポーネントの TypeThe Type of the target component.

戻り値

このコンポーネントの型の属性を持つ AttributeCollectionAn 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.AllowMultipletrueに設定されている属性では、属性コレクションによって重複するインスタンスが削除されます。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.AllowMultipletrueに設定してカスタム属性を定義する場合は、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 をオーバーライドして、属性のオブジェクト id を返します。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 プロパティの値に関係なく、型 id が返されます。The default implementation of Attribute.TypeId returns the type identity regardless of the value of the AttributeUsageAttribute.AllowMultiple property. AttributeCollectionから AttributeUsageAttribute.AllowMultiple 属性の複数のインスタンスを返すには、属性で 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

truecomponent 型であるときにカスタム型記述子の基準となる属性セットを使用する場合は ICustomTypeDescriptor。それ以外の場合は falsetrue to use a baseline set of attributes from the custom type descriptor if component is of type ICustomTypeDescriptor; otherwise, false.

戻り値

コンポーネントの属性を使用する AttributeCollectionAn 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.AllowMultipletrueに設定してカスタム属性を定義する場合は、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 をオーバーライドして、属性のオブジェクト id を返します。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 プロパティの値に関係なく、型 id が返されます。The default implementation of Attribute.TypeId returns the type identity regardless of the value of the AttributeUsageAttribute.AllowMultiple property. AttributeCollectionから AttributeUsageAttribute.AllowMultiple 属性の複数のインスタンスを返すには、属性で Attribute.TypeId プロパティをオーバーライドする必要があります。In order to return multiple instances of an AttributeUsageAttribute.AllowMultiple attribute from the AttributeCollection, your attribute must override the Attribute.TypeId property.

こちらもご覧ください

適用対象