AttributeProviderAttribute クラス
アセンブリ: System (system.dll 内)

<AttributeUsageAttribute(AttributeTargets.Property)> _ Public Class AttributeProviderAttribute Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Property)] public class AttributeProviderAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Property)] public ref class AttributeProviderAttribute : public Attribute

.NET Framework オブジェクト モデルでは、プロパティが意図的にあいまいになるように型指定される場合もあります。たとえば、DataGridView.DataSource プロパティは、object として型指定されます。このように指定されるのは、このプロパティが複数の入力型を受け入れることができるようにするためです。ただし、これにより、プロパティの特性を記述するためにメタデータを追加する共通の場所はなくなります。.NET Framework 全体で、各 DataSource プロパティは、型コンバータ、UI 型エディタ、およびメタデータを必要とするその他のサービスについて同一のメタデータを持つ必要があります。AttributeProviderAttribute は、このような状況を改善します。
この属性がプロパティに設定されると、プロパティ記述子の MemberDescriptor.Attributes コレクションの属性を取得する規則が変わります。通常、プロパティ記述子はローカル属性を収集し、次にこれらをプロパティ型の属性にマージします。この場合、属性は、実際のプロパティ型からではなく、AttributeProviderAttribute から返された型から取得されます。この属性は、DataGridView.DataSource オブジェクトの特定の型が IListSource を指すようにするために DataGridView.DataSource で使用され、データ バインディングを有効にするために、適切なメタデータが IListSource に配置されます。これによって、外部パーティが容易にメタデータをすべてのデータ ソースに追加できます。
AttributeProviderAttribute で宣言された型から取得した属性の優先順位は、プロパティの型属性とプロパティの属性の中間になります。使用できるマージされた属性の完全なセットを、次の一覧に優先順位に従って示します。

AttributeProviderAttribute を使用して、IListSource という特定の型で DataSource プロパティをマークするコード例を次に示します。コード全体については、「方法 : Windows フォーム コントロールに属性を適用する」を参照してください。
<Category("Data"), _ Description("Indicates the source of data for the control."), _ RefreshProperties(RefreshProperties.Repaint), _ AttributeProvider(GetType(IListSource))> _ Public Property DataSource() As Object Get Return Me.dataGridView1.DataSource End Get Set(ByVal value As Object) Me.dataGridView1.DataSource = value End Set End Property

System.Attribute
System.ComponentModel.AttributeProviderAttribute


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


AttributeProviderAttribute コンストラクタ (String)
アセンブリ: System (system.dll 内)



Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


AttributeProviderAttribute コンストラクタ (Type)
アセンブリ: System (system.dll 内)



AttributeProviderAttribute を使用して、IListSource の特定の型で DataSource プロパティをマークするコード例を次に示します。コード全体については、「方法 : Windows フォーム コントロールに属性を適用する」を参照してください。
<Category("Data"), _ Description("Indicates the source of data for the control."), _ RefreshProperties(RefreshProperties.Repaint), _ AttributeProvider(GetType(IListSource))> _ Public Property DataSource() As Object Get Return Me.dataGridView1.DataSource End Get Set(ByVal value As Object) Me.dataGridView1.DataSource = value End Set End Property

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


AttributeProviderAttribute コンストラクタ (String, String)
アセンブリ: System (system.dll 内)

Dim typeName As String Dim propertyName As String Dim instance As New AttributeProviderAttribute(typeName, propertyName)

例外の種類 | 条件 |
---|---|
ArgumentNullException | typeName が null 参照 (Visual Basic では Nothing) です。 |
ArgumentNullException | propertyName が null 参照 (Visual Basic では Nothing) です。 |

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


AttributeProviderAttribute コンストラクタ

名前 | 説明 |
---|---|
AttributeProviderAttribute (String) | 指定した型名を使用して AttributeProviderAttribute クラスの新しいインスタンスを初期化します。 |
AttributeProviderAttribute (Type) | 指定した型を使用して、AttributeProviderAttribute クラスの新しいインスタンスを初期化します。 |
AttributeProviderAttribute (String, String) | 指定した型名とプロパティ名を使用して、AttributeProviderAttribute クラスの新しいインスタンスを初期化します。 |

AttributeProviderAttribute プロパティ

名前 | 説明 | |
---|---|---|
![]() | PropertyName | 属性を取得するプロパティの名前を取得します。 |
![]() | TypeId | 派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。 ( Attribute から継承されます。) |
![]() | TypeName | コンストラクタに渡されるアセンブリ修飾型名を取得します。 |

AttributeProviderAttribute メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 ( Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 ( Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 ( Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 ( Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 ( Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 ( Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

AttributeProviderAttribute メンバ
属性のリダイレクトを有効にします。このクラスは継承できません。
AttributeProviderAttribute データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | PropertyName | 属性を取得するプロパティの名前を取得します。 |
![]() | TypeId | 派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。(Attribute から継承されます。) |
![]() | TypeName | コンストラクタに渡されるアセンブリ修飾型名を取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 (Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 (Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 (Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 (Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 (Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- AttributeProviderAttributeのページへのリンク