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()

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

(継承元 Object)

イベント

Refreshed

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

適用対象

こちらもご覧ください