TypeDescriptor イベント
TypeDescriptor クラス
アセンブリ: System (system.dll 内)


.NET Framework では、System.Reflection 名前空間で提供されるリフレクション API と TypeDescriptor クラスという 2 とおりの方法で型のメタデータにアクセスできます。リフレクションの基盤は、ルート クラス Object の GetType メソッドで確立されるため、リフレクションはすべての型で使用できる汎用機構です。リフレクションによって返される型に関する情報は、対象の型をコンパイルした後に変更できないという点で拡張性がありません。詳細については、リフレクション のトピックを参照してください。
これに対して、TypeDescriptor はコンポーネントに対して拡張性のある検査機構です。これらのクラスは、IComponent インターフェイスを実装しています。リフレクションとは異なり、このクラスはメソッドに関する検査は行いません。TypeDescriptor は、対象のコンポーネントの Site を通じて利用できる複数のサービスによって動的に拡張できます。これらのサービスを次の表に示します。
IExtenderProvider | |
ITypeDescriptorFilterService | |
ICustomTypeDescriptor | TypeDescriptor の標準の検査機構を置き換え、クラスが独自のメタデータを完全かつ動的に指定できるようにします。 |
TypeDescriptor によって提供される機能拡張を使用すると、コンポーネントのデザイン時の表現を実行時の実際の表現と区別できるため、TypeDescriptor は、デザイン時のインフラストラクチャを構築する際に役立ちます。
TypeDescriptor のすべてのメソッドは static です。このクラスのインスタンスは作成できないため、このクラスを継承することはできません。
プロパティとイベントの値を設定するには、コンポーネント クラスで指定する方法と、デザイン時に変更する方法の 2 とおりあります。2 とおりの方法でこれらの値を設定できるため、TypeDescriptor のオーバーロードされたメソッドには、クラス型またはオブジェクトのインスタンスという 2 種類のパラメータの型を指定できます。
TypeDescriptor の情報にアクセスする必要があり、オブジェクトのインスタンスがある場合は、コンポーネントを呼び出すメソッドを使用します。クラス型を呼び出すメソッドは、オブジェクトのインスタンスがない場合にだけ使用します。
処理速度向上のため、プロパティとイベントは TypeDescriptor によってキャッシュされます。通常、これらはオブジェクトの有効期間を通じて一定です。ただし、拡張プロバイダやデザイナは、オブジェクトに関する一連のプロパティを変更できます。その場合、Refresh メソッドを呼び出してキャッシュを更新する必要があります。

System.ComponentModel.TypeDescriptor


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


TypeDescriptor プロパティ

名前 | 説明 | |
---|---|---|
![]() | ComNativeDescriptorHandler | 対象のコンポーネントのコンポーネント オブジェクト モデル (COM: Component Object Model) 型情報のプロバイダを取得または設定します。 |
![]() | ComObjectType | 対象のコンポーネントによって表されるコンポーネント オブジェクト モデル (COM: Component Object Model) オブジェクトの型を取得します。 |

TypeDescriptor メソッド


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

TypeDescriptor メンバ
属性、プロパティ、イベントなど、コンポーネントの特性に関する情報を提供します。このクラスは継承できません。
TypeDescriptor データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | ComNativeDescriptorHandler | 対象のコンポーネントのコンポーネント オブジェクト モデル (COM: Component Object Model) 型情報のプロバイダを取得または設定します。 |
![]() | ComObjectType | 対象のコンポーネントによって表されるコンポーネント オブジェクト モデル (COM: Component Object Model) オブジェクトの型を取得します。 |


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


- TypeDescriptorのページへのリンク