TypeDescriptor クラス

定義

属性、プロパティ、イベントなど、コンポーネントの特性に関する情報を提供します。Provides information about the characteristics for a component, such as its attributes, properties, and events. このクラスは継承できません。This class cannot be inherited.

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

注釈

.NET Framework には、型のメタデータにアクセスする2つの方法が用意されています。 System.Reflection 名前空間に用意されているリフレクション API と TypeDescriptor クラスです。The .NET Framework provides two ways to access metadata on a type: the reflection API provided in the System.Reflection namespace, and the TypeDescriptor class. リフレクションは、ルート Object クラスの GetType メソッドにその基礎が確立されているため、すべての型で使用できる一般的な機構です。Reflection is a general mechanism available to all types because its foundation is established in the GetType method of the root Object class. 型に対して返される情報は拡張可能ではありませんが、ターゲット型のコンパイル後に変更することはできません。The information it returns for a type is not extensible, in that it cannot be modified after compilation of the target type. 詳細については、「リフレクション」のトピックを参照してください。For more information, see the topics in Reflection.

これに対し、TypeDescriptor は、コンポーネントの拡張可能な検査機構で、IComponent インターフェイスを実装するクラスです。In contrast, TypeDescriptor is an extensible inspection mechanism for components: those classes that implement the IComponent interface. リフレクションとは異なり、メソッドを検査しません。Unlike reflection, it does not inspect for methods. ターゲットコンポーネントの Siteを通じて使用できる複数のサービスによって、TypeDescriptor を動的に拡張できます。TypeDescriptor can be dynamically extended by several services available through the target component's Site. 次の表は、これらのサービスを示しています。The following table shows these services.

サービス名Service name 説明Description
IExtenderProvider コンポーネントに追加のプロパティを提供するために、ToolTipなどの別のクラスを有効にします。Enables another class, such as ToolTip, to provide extra properties to a component.
ITypeDescriptorFilterService コンポーネントによって公開されている標準メタデータを別のオブジェクトが変更できるようにします。Enables another object to modify the standard metadata that is exposed by a component.
ICustomTypeDescriptor クラスが独自のメタデータを完全かつ動的に指定できるようにします。これにより、TypeDescriptorの標準検査機構が置き換えられます。Enables a class to completely and dynamically specify its own metadata, replacing the standard inspection mechanism of TypeDescriptor.

TypeDescriptor によって提供される機能拡張により、コンポーネントのデザイン時表現を実際の実行時表現とは異なるものにすることができます。これにより、デザイン時インフラストラクチャの構築に役立つ TypeDescriptor ます。The extensibility provided by TypeDescriptor allows the design-time representation of a component to differ from its actual run-time representation, which makes TypeDescriptor useful for building design-time infrastructure.

TypeDescriptor 内のすべてのメソッドが staticます。All the methods in TypeDescriptor are static. このクラスのインスタンスを作成することはできません。このクラスを継承することはできません。You cannot create an instance of this class, and this class cannot be inherited.

プロパティとイベントの値は、2つの異なる方法で設定できます。コンポーネントクラスで指定する方法と、デザイン時に変更する方法です。You can set property and event values two different ways: specify them in the component class or change them at design time. これらの値は2つの方法で設定できるため、TypeDescriptor のオーバーロードされたメソッドは、クラス型またはオブジェクトインスタンスという2つの異なる型のパラメーターを受け取ります。Because you can set these values two ways, the overloaded methods of TypeDescriptor take two different types of parameters: a class type or an object instance.

TypeDescriptor 情報にアクセスし、オブジェクトのインスタンスがある場合は、コンポーネントを呼び出すメソッドを使用します。When you want to access TypeDescriptor information and you have an instance of the object, use the method that calls for a component. オブジェクトのインスタンスがない場合にのみ、クラス型を呼び出すメソッドを使用します。Use the method that calls for the class type only when you do not have an instance of the object.

プロパティとイベントは、速度のために TypeDescriptor によってキャッシュされます。Properties and events are cached by TypeDescriptor for speed. 通常、これらは、オブジェクトの有効期間中は定数です。Typically, they are constant for the lifetime of an object. ただし、拡張プロバイダーおよびデザイナーは、オブジェクトのプロパティのセットを変更できます。However, extender providers and designers can change the set of properties on an object. この場合は、Refresh メソッドを呼び出してキャッシュを更新する必要があります。If this is the case, then the Refresh method must be called to update the cache.

プロパティ

ComNativeDescriptorHandler

ターゲット コンポーネントの Component Object Model (COM) 型情報のプロバイダーを取得または設定します。Gets or sets the provider for the Component Object Model (COM) type information for the target component.

ComObjectType

対象となるコンポーネントによって表されるコンポーネント オブジェクト モデル (COM) の型を取得します。Gets the type of the Component Object Model (COM) object represented by the target component.

InterfaceType

すべてのインターフェイス型に対する型説明のプロバイダーを表す型を取得します。Gets a type that represents a type description provider for all interface types.

メソッド

AddAttributes(Object, Attribute[])

対象コンポーネントのインスタンスにクラス レベルの属性を追加します。Adds class-level attributes to the target component instance.

AddAttributes(Type, Attribute[])

対象のコンポーネントの型にクラス レベルの属性を追加します。Adds class-level attributes to the target component type.

AddEditorTable(Type, Hashtable)

指定されたエディターの基本型のエディター テーブルを追加します。Adds an editor table for the given editor base type.

AddProvider(TypeDescriptionProvider, Object)

コンポーネントの単一インスタンスの型説明の提供元を追加します。Adds a type description provider for a single instance of a component.

AddProvider(TypeDescriptionProvider, Type)

コンポーネント クラスの型説明プロバイダーを追加します。Adds a type description provider for a component class.

AddProviderTransparent(TypeDescriptionProvider, Object)

コンポーネントの単一インスタンスの型説明の提供元を追加します。Adds a type description provider for a single instance of a component.

AddProviderTransparent(TypeDescriptionProvider, Type)

コンポーネント クラスの型説明プロバイダーを追加します。Adds a type description provider for a component class.

CreateAssociation(Object, Object)

2 つのオブジェクトの間のプライマリとセカンダリの関連付けを作成します。Creates a primary-secondary association between two objects.

CreateDesigner(IComponent, Type)

指定したコンポーネントに関連するデザイナーおよび指定した型のデザイナーのインスタンスを作成します。Creates an instance of the designer associated with the specified component and of the specified type of designer.

CreateEvent(Type, EventDescriptor, Attribute[])

既存の EventDescriptor が渡された場合、既存のイベント記述子と同じである新しいイベント記述子を作成します。Creates a new event descriptor that is identical to an existing event descriptor, when passed the existing EventDescriptor.

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

型で指定したイベントから記述子情報を動的に生成することによって既存のイベント記述子と同じになる新しいイベント記述子を作成します。Creates a new event descriptor that is identical to an existing event descriptor by dynamically generating descriptor information from a specified event on a type.

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

別のデータ型の代わりに使用できるオブジェクトを作成します。Creates an object that can substitute for another data type.

CreateProperty(Type, PropertyDescriptor, Attribute[])

指定した既存の PropertyDescriptor と属性配列を使用して、既存のプロパティ記述子から新しいプロパティ記述子を作成します。Creates a new property descriptor from an existing property descriptor, using the specified existing PropertyDescriptor and attribute array.

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

指定したプロパティ名、型、および属性配列を使用して、プロパティ記述子を作成し、型に動的に関連付けます。Creates and dynamically binds a property descriptor to a type, using the specified property name, type, and attribute array.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

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

指定したプライマリ オブジェクトに関連付けられた型のインスタンスを返します。Returns an instance of the type associated with the specified primary object.

GetAttributes(Object)

指定したコンポーネントの属性のコレクションを返します。Returns the collection of attributes for the specified 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(Type)

指定したコンポーネントの型の属性のコレクションを返します。Returns a collection of attributes for the specified type of component.

GetClassName(Object)

既定の型記述子を使用して、指定したコンポーネントのクラスの名前を返します。Returns the name of the class for the specified component using the default type descriptor.

GetClassName(Object, Boolean)

カスタムの型記述子を使用して、指定したコンポーネントのクラスの名前を返します。Returns the name of the class for the specified component using a custom type descriptor.

GetClassName(Type)

指定した型のクラスの名前を返します。Returns the name of the class for the specified type.

GetComponentName(Object)

既定の型記述子を使用して、指定したコンポーネントの名前を返します。Returns the name of the specified component using the default type descriptor.

GetComponentName(Object, Boolean)

カスタムの型記述子を使用して、指定したコンポーネントの名前を返します。Returns the name of the specified component using a custom type descriptor.

GetConverter(Object)

指定したコンポーネントの型の型コンバーターを返します。Returns a type converter for the type of the specified component.

GetConverter(Object, Boolean)

カスタムの型記述子を使用して、指定したコンポーネントの型の型コンバーターを返します。Returns a type converter for the type of the specified component with a custom type descriptor.

GetConverter(Type)

指定した型の型コンバーターを返します。Returns a type converter for the specified type.

GetDefaultEvent(Object)

指定したコンポーネントの既定のイベントを返します。Returns the default event for the specified component.

GetDefaultEvent(Object, Boolean)

カスタムの型記述子を使用して、コンポーネントの既定のイベントを返します。Returns the default event for a component with a custom type descriptor.

GetDefaultEvent(Type)

指定したコンポーネントの型の既定のイベントを返します。Returns the default event for the specified type of component.

GetDefaultProperty(Object)

指定したコンポーネントの既定のプロパティを返します。Returns the default property for the specified component.

GetDefaultProperty(Object, Boolean)

カスタムの型記述子を使用して、指定したコンポーネントの既定のプロパティを返します。Returns the default property for the specified component with a custom type descriptor.

GetDefaultProperty(Type)

指定したコンポーネントの型の既定のプロパティを返します。Returns the default property for the specified type of component.

GetEditor(Object, Type)

指定したコンポーネントで使用される、指定した基本型のエディターを取得します。Gets an editor with the specified base type for the specified component.

GetEditor(Object, Type, Boolean)

指定したコンポーネントで使用され、カスタムの型記述子が関連付けられている、指定した基本型のエディターを返します。Returns an editor with the specified base type and with a custom type descriptor for the specified component.

GetEditor(Type, Type)

指定した型で使用される、指定した基本型のエディターを返します。Returns an editor with the specified base type for the specified type.

GetEvents(Object)

指定したコンポーネントのイベントのコレクションを返します。Returns the collection of events for the specified component.

GetEvents(Object, Attribute[])

指定した属性配列をフィルターとして使用して、指定したコンポーネントのイベントのコレクションを返します。Returns the collection of events for a specified component using a specified array of attributes as a filter.

GetEvents(Object, Attribute[], Boolean)

指定した属性配列をフィルターとして使用し、カスタムの型記述子を使用して、指定したコンポーネントのイベントのコレクションを返します。Returns the collection of events for a specified component using a specified array of attributes as a filter and using a custom type descriptor.

GetEvents(Object, Boolean)

カスタムの型記述子を使用して、指定したコンポーネントのイベントのコレクションを返します。Returns the collection of events for a specified component with a custom type descriptor.

GetEvents(Type)

指定したコンポーネントの型のイベントのコレクションを返します。Returns the collection of events for a specified type of component.

GetEvents(Type, Attribute[])

指定した属性配列をフィルターとして使用して、指定したコンポーネントの型のイベントのコレクションを返します。Returns the collection of events for a specified type of component using a specified array of attributes as a filter.

GetFullComponentName(Object)

コンポーネントの完全修飾名を返します。Returns the fully qualified name of the component.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetProperties(Object)

指定したコンポーネントのプロパティのコレクションを返します。Returns the collection of properties for a specified component.

GetProperties(Object, Attribute[])

指定した属性配列をフィルターとして使用して、指定したコンポーネントのプロパティのコレクションを返します。Returns the collection of properties for a specified component using a specified array of attributes as a filter.

GetProperties(Object, Attribute[], Boolean)

指定した属性配列をフィルターとして使用し、カスタムの型記述子を使用して、指定したコンポーネントのプロパティのコレクションを返します。Returns the collection of properties for a specified component using a specified array of attributes as a filter and using a custom type descriptor.

GetProperties(Object, Boolean)

既定の型記述子を使用して、指定したコンポーネントのプロパティのコレクションを返します。Returns the collection of properties for a specified component using the default type descriptor.

GetProperties(Type)

指定したコンポーネントの型のプロパティのコレクションを返します。Returns the collection of properties for a specified type of component.

GetProperties(Type, Attribute[])

指定した属性配列をフィルターとして使用して、指定したコンポーネントの型のプロパティのコレクションを返します。Returns the collection of properties for a specified type of component using a specified array of attributes as a filter.

GetProvider(Object)

指定したコンポーネントの型説明のプロバイダーを返します。Returns the type description provider for the specified component.

GetProvider(Type)

指定した型の型説明のプロバイダーを返します。Returns the type description provider for the specified type.

GetReflectionType(Object)

オブジェクトに応じて、リフレクションの実行に使用できる Type を返します。Returns a Type that can be used to perform reflection, given an object.

GetReflectionType(Type)

クラス型に応じて、リフレクションの実行に使用できる Type を返します。Returns a Type that can be used to perform reflection, given a class type.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
Refresh(Assembly)

指定されたアセンブリのプロパティとイベントをキャッシュからクリアします。Clears the properties and events for the specified assembly from the cache.

Refresh(Module)

指定されたモジュールのプロパティとイベントをキャッシュからクリアします。Clears the properties and events for the specified module from the cache.

Refresh(Object)

指定されたコンポーネントのプロパティとイベントをキャッシュからクリアします。Clears the properties and events for the specified component from the cache.

Refresh(Type)

コンポーネントの指定された型のプロパティとイベントをキャッシュからクリアします。Clears the properties and events for the specified type of component from the cache.

RemoveAssociation(Object, Object)

2 つのオブジェクトの間の関連付けを削除します。Removes an association between two objects.

RemoveAssociations(Object)

プライマリ オブジェクトのすべての関連付けを削除します。Removes all associations for a primary object.

RemoveProvider(TypeDescriptionProvider, Object)

指定したオブジェクトに関連付けられている、以前に追加された型説明プロバイダーを削除します。Removes a previously added type description provider that is associated with the specified object.

RemoveProvider(TypeDescriptionProvider, Type)

指定した型に関連付けられている、以前に追加された型説明プロバイダーを削除します。Removes a previously added type description provider that is associated with the specified type.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

指定したオブジェクトに関連付けられている、以前に追加された型説明プロバイダーを削除します。Removes a previously added type description provider that is associated with the specified object.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

指定した型に関連付けられている、以前に追加された型説明プロバイダーを削除します。Removes a previously added type description provider that is associated with the specified type.

SortDescriptorArray(IList)

記述子を名前で並べ替えます。Sorts descriptors using the name of the descriptor.

ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

イベント

Refreshed

コンポーネントのキャッシュが消去されると発生します。Occurs when the cache for a component is cleared.

適用対象

こちらもご覧ください