TypeDescriptor クラス

定義

コンポーネントの属性、プロパティ、イベントなど、コンポーネントの特性に関する情報を提供します。 このクラスは継承できません。

public ref class TypeDescriptor sealed
public sealed class TypeDescriptor
type TypeDescriptor = class
Public NotInheritable Class TypeDescriptor
継承
TypeDescriptor

注釈

.NET Framework には、型のメタデータにアクセスする 2 つの方法が用意されています。System.Reflection 名前空間で提供されるリフレクション API と、TypeDescriptor クラスです。 リフレクションは、ルート Object クラスの GetType メソッドで基礎が確立されているため、すべての型で使用できる一般的なメカニズムです。 型に対して返される情報は、ターゲット型のコンパイル後に変更できないという点で拡張可能ではありません。 詳細については、「リフレクション」のトピックを参照してください。

これに対し、TypeDescriptor はコンポーネントの拡張可能な検査メカニズムであり、IComponent インターフェイスを実装するクラスです。 リフレクションとは異なり、メソッドの検査は行われません。 TypeDescriptor は、ターゲット コンポーネントの Siteを介して利用できる複数のサービスによって動的に拡張できます。 次の表に、これらのサービスを示します。

サービス名 形容
IExtenderProvider ToolTipなどの別のクラスがコンポーネントに追加のプロパティを提供できるようにします。
ITypeDescriptorFilterService コンポーネントによって公開される標準メタデータを別のオブジェクトが変更できるようにします。
ICustomTypeDescriptor クラスが独自のメタデータを完全かつ動的に指定できるようにし、TypeDescriptorの標準的な検査メカニズムを置き換えます。

TypeDescriptor によって提供される拡張性により、コンポーネントのデザイン時の表現は実際の実行時表現とは異なるため、TypeDescriptor デザイン時インフラストラクチャの構築に役立ちます。

TypeDescriptor 内のすべてのメソッドが static。 このクラスのインスタンスを作成することはできません。また、このクラスを継承することはできません。

プロパティ値とイベント値は、コンポーネント クラスで指定するか、デザイン時に変更する 2 つの異なる方法で設定できます。 これらの値は 2 つの方法で設定できるため、TypeDescriptor のオーバーロードされたメソッドは、クラス型とオブジェクト インスタンスの 2 種類のパラメーターを受け取ります。

TypeDescriptor 情報にアクセスし、オブジェクトのインスタンスがある場合は、コンポーネントを呼び出すメソッドを使用します。 オブジェクトのインスタンスがない場合にのみ、クラス型を呼び出すメソッドを使用します。

プロパティとイベントは、速度のために TypeDescriptor によってキャッシュされます。 通常、オブジェクトの有効期間中は定数です。 ただし、エクステンダー プロバイダーとデザイナーは、オブジェクトのプロパティのセットを変更できます。 その場合は、キャッシュを更新するために Refresh メソッドを呼び出す必要があります。

プロパティ

ComNativeDescriptorHandler
古い.
古い.
古い.
古い.

ターゲット コンポーネントのコンポーネント オブジェクト モデル (COM) 型情報のプロバイダーを取得または設定します。

ComObjectType

ターゲット コンポーネントによって表されるコンポーネント オブジェクト モデル (COM) オブジェクトの型を取得します。

InterfaceType

すべてのインターフェイス型の型記述プロバイダーを表す型を取得します。

メソッド

AddAttributes(Object, Attribute[])

ターゲット コンポーネント インスタンスにクラス レベルの属性を追加します。

AddAttributes(Type, Attribute[])

ターゲット コンポーネントの種類にクラス レベルの属性を追加します。

AddEditorTable(Type, Hashtable)

指定されたエディターの基本型のエディター テーブルを追加します。

AddProvider(TypeDescriptionProvider, Object)

コンポーネントの単一インスタンスの型記述プロバイダーを追加します。

AddProvider(TypeDescriptionProvider, Type)

コンポーネント クラスの型記述プロバイダーを追加します。

AddProviderTransparent(TypeDescriptionProvider, Object)

コンポーネントの単一インスタンスの型記述プロバイダーを追加します。

AddProviderTransparent(TypeDescriptionProvider, Type)

コンポーネント クラスの型記述プロバイダーを追加します。

CreateAssociation(Object, Object)

2 つのオブジェクト間にプライマリとセカンダリの関連付けを作成します。

CreateDesigner(IComponent, Type)

指定したコンポーネントに関連付けられたデザイナーのインスタンスと、指定した種類のデザイナーのインスタンスを作成します。

CreateEvent(Type, EventDescriptor, Attribute[])

既存の EventDescriptorを渡すと、既存のイベント記述子と同じ新しいイベント記述子を作成します。

CreateEvent(Type, String, Type, Attribute[])

型の指定したイベントから記述子情報を動的に生成することで、既存のイベント記述子と同じ新しいイベント記述子を作成します。

CreateInstance(IServiceProvider, Type, Type[], Object[])

別のデータ型に置き換えることができるオブジェクトを作成します。

CreateProperty(Type, PropertyDescriptor, Attribute[])

指定した既存の PropertyDescriptor と属性配列を使用して、既存のプロパティ記述子から新しいプロパティ記述子を作成します。

CreateProperty(Type, String, Type, Attribute[])

指定したプロパティ名、型、および属性配列を使用して、プロパティ記述子を作成し、型に動的にバインドします。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetAssociation(Type, Object)

指定したプライマリ オブジェクトに関連付けられている型のインスタンスを返します。

GetAttributes(Object)

指定したコンポーネントの属性のコレクションを返します。

GetAttributes(Object, Boolean)

指定したコンポーネントの属性のコレクションと、カスタム型記述子が作成されたことを示すブール値を返します。

GetAttributes(Type)

指定した種類のコンポーネントの属性のコレクションを返します。

GetClassName(Object)

既定の型記述子を使用して、指定したコンポーネントのクラスの名前を返します。

GetClassName(Object, Boolean)

カスタム型記述子を使用して、指定したコンポーネントのクラスの名前を返します。

GetClassName(Type)

指定した型のクラスの名前を返します。

GetComponentName(Object)

既定の型記述子を使用して、指定したコンポーネントの名前を返します。

GetComponentName(Object, Boolean)

カスタム型記述子を使用して、指定したコンポーネントの名前を返します。

GetConverter(Object)

指定したコンポーネントの型の型コンバーターを返します。

GetConverter(Object, Boolean)

カスタム型記述子を持つ指定したコンポーネントの型の型コンバーターを返します。

GetConverter(Type)

指定した型の型コンバーターを返します。

GetConverterFromRegisteredType(Object)

指定したコンポーネントの型の型コンバーターを取得します。

GetConverterFromRegisteredType(Type)

指定した登録済み型の型コンバーターを取得します。

GetDefaultEvent(Object)

指定したコンポーネントの既定のイベントを返します。

GetDefaultEvent(Object, Boolean)

カスタム型記述子を持つコンポーネントの既定のイベントを返します。

GetDefaultEvent(Type)

指定した種類のコンポーネントの既定のイベントを返します。

GetDefaultProperty(Object)

指定したコンポーネントの既定のプロパティを返します。

GetDefaultProperty(Object, Boolean)

カスタム型記述子を持つ指定したコンポーネントの既定のプロパティを返します。

GetDefaultProperty(Type)

指定した種類のコンポーネントの既定のプロパティを返します。

GetEditor(Object, Type)

指定したコンポーネントの指定した基本型を持つエディターを取得します。

GetEditor(Object, Type, Boolean)

指定した基本型を持ち、指定したコンポーネントのカスタム型記述子を持つエディターを返します。

GetEditor(Type, Type)

指定した型の指定した基本型を持つエディターを返します。

GetEvents(Object)

指定したコンポーネントのイベントのコレクションを返します。

GetEvents(Object, Attribute[])

指定した属性の配列をフィルターとして使用して、指定したコンポーネントのイベントのコレクションを返します。

GetEvents(Object, Attribute[], Boolean)

指定した属性の配列をフィルターとして使用し、カスタム型記述子を使用して、指定したコンポーネントのイベントのコレクションを返します。

GetEvents(Object, Boolean)

カスタム型記述子を持つ指定したコンポーネントのイベントのコレクションを返します。

GetEvents(Type)

指定した種類のコンポーネントのイベントのコレクションを返します。

GetEvents(Type, Attribute[])

指定した属性配列をフィルターとして使用して、指定した種類のコンポーネントのイベントのコレクションを返します。

GetEventsFromRegisteredType(Type)

指定した種類のコンポーネントのイベントのコレクションを取得します。

GetFullComponentName(Object)

コンポーネントの完全修飾名を返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetProperties(Object)

指定したコンポーネントのプロパティのコレクションを返します。

GetProperties(Object, Attribute[])

指定した属性の配列をフィルターとして使用して、指定したコンポーネントのプロパティのコレクションを返します。

GetProperties(Object, Attribute[], Boolean)

指定した属性配列をフィルターとして使用し、カスタム型記述子を使用して、指定したコンポーネントのプロパティのコレクションを返します。

GetProperties(Object, Boolean)

既定の型記述子を使用して、指定したコンポーネントのプロパティのコレクションを返します。

GetProperties(Type)

指定した種類のコンポーネントのプロパティのコレクションを返します。

GetProperties(Type, Attribute[])

指定した属性配列をフィルターとして使用して、指定した種類のコンポーネントのプロパティのコレクションを返します。

GetPropertiesFromRegisteredType(Object)

指定したコンポーネントのプロパティのコレクションを取得します。

GetPropertiesFromRegisteredType(Type)

指定した型のプロパティのコレクションを取得します。

GetProvider(Object)

指定したコンポーネントの型の説明プロバイダーを返します。

GetProvider(Type)

指定した型の型の説明プロバイダーを返します。

GetReflectionType(Object)

オブジェクトを指定してリフレクションを実行するために使用できる Type を返します。

GetReflectionType(Type)

クラス型を指定して、リフレクションの実行に使用できる Type を返します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
Refresh(Assembly)

指定したアセンブリのプロパティとイベントをキャッシュからクリアします。

Refresh(Module)

指定したモジュールのプロパティとイベントをキャッシュからクリアします。

Refresh(Object)

指定したコンポーネントのプロパティとイベントをキャッシュからクリアします。

Refresh(Type)

指定した種類のコンポーネントのプロパティとイベントをキャッシュからクリアします。

RegisterType<T>()

トリミングされたアプリケーションでリフレクション ベースのプロバイダーが使用できるように、型を登録します。

RemoveAssociation(Object, Object)

2 つのオブジェクト間の関連付けを削除します。

RemoveAssociations(Object)

プライマリ オブジェクトのすべての関連付けを削除します。

RemoveProvider(TypeDescriptionProvider, Object)

指定したオブジェクトに関連付けられている、以前に追加された型の説明プロバイダーを削除します。

RemoveProvider(TypeDescriptionProvider, Type)

指定した型に関連付けられている、以前に追加された型の説明プロバイダーを削除します。

RemoveProviderTransparent(TypeDescriptionProvider, Object)

指定したオブジェクトに関連付けられている、以前に追加された型の説明プロバイダーを削除します。

RemoveProviderTransparent(TypeDescriptionProvider, Type)

指定した型に関連付けられている、以前に追加された型の説明プロバイダーを削除します。

SortDescriptorArray(IList)

記述子の名前を使用して記述子を並べ替えます。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

イベント

Refreshed

コンポーネントのキャッシュがクリアされたときに発生します。

適用対象

こちらもご覧ください