AttributeProviderAttribute クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
属性のリダイレクトを有効にします。 このクラスは継承できません。
public ref class AttributeProviderAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public class AttributeProviderAttribute : Attribute
public class AttributeProviderAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property)>]
type AttributeProviderAttribute = class
inherit Attribute
type AttributeProviderAttribute = class
inherit Attribute
Public Class AttributeProviderAttribute
Inherits Attribute
- 継承
- 属性
例
次のコード例では、 を使用してAttributeProviderAttribute、特定の型の IListSourceプロパティをマークDataSource
する方法を示します。 完全なコード一覧については、「方法: Windows フォーム コントロールで属性を適用する」を参照してください。
[Category("Data")]
[Description("Indicates the source of data for the control.")]
[RefreshProperties(RefreshProperties.Repaint)]
[AttributeProvider(typeof(IListSource))]
public object DataSource
{
get
{
return this.dataGridView1.DataSource;
}
set
{
this.dataGridView1.DataSource = value;
}
}
<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
注釈
.NET Framework オブジェクト モデルでは、プロパティが意図的に漠然と型指定される場合がいくつかあります。 たとえば、 DataGridView.DataSource プロパティは と object
入力されます。 この理由は、このプロパティが複数の種類の入力を受け入れることができるためです。 残念ながら、これはプロパティの特性を記述するメタデータを追加する一般的な場所を提供しません。 .NET Framework全体の各DataSource
プロパティには、型コンバーター、UI 型エディター、およびメタデータを必要とするその他のサービスに対して同じメタデータが必要です。 この状況の AttributeProviderAttribute 救済策。
この属性をプロパティに配置すると、プロパティ記述子のコレクションの属性を取得するための規則が MemberDescriptor.Attributes 異なります。 通常、プロパティ記述子はローカル属性を収集し、これらをプロパティ型の属性とマージします。 この場合、属性は、実際のプロパティ型からではなく、 AttributeProviderAttributeから返された型から取得されます。 この属性は、オブジェクトの特定の型を DataGridView.DataSource を指すために IListSourceにDataGridView.DataSource使用され、データ バインディングを有効にするために適切なメタデータが にIListSource配置されます。 そのため、外部関係者はすべてのデータ ソースにメタデータを簡単に追加できます。
で AttributeProviderAttribute 宣言された型から取得された属性は、プロパティの型の属性と プロパティの属性の間に優先度があります。 次の一覧は、優先順に、使用可能なマージされた属性の完全なセットを示しています。
プロパティの属性
属性プロバイダーの属性
プロパティ型の属性
コンストラクター
AttributeProviderAttribute(String) |
指定した型名を使用して AttributeProviderAttribute クラスの新しいインスタンスを初期化します。 |
AttributeProviderAttribute(String, String) |
指定した型名とプロパティ名を使用して、AttributeProviderAttribute クラスの新しいインスタンスを初期化します。 |
AttributeProviderAttribute(Type) |
指定した型を使用して、AttributeProviderAttribute クラスの新しいインスタンスを初期化します。 |
プロパティ
PropertyName |
属性を取得するプロパティの名前を取得します。 |
TypeId |
派生クラスで実装されると、この Attribute の一意の識別子を取得します。 (継承元 Attribute) |
TypeName |
コンストラクターに渡されるアセンブリ修飾型名を取得します。 |
メソッド
Equals(Object) |
このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。 (継承元 Attribute) |
GetHashCode() |
このインスタンスのハッシュ コードを返します。 (継承元 Attribute) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
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) |
適用対象
こちらもご覧ください
.NET