TypeDescriptor.AddProvider TypeDescriptor.AddProvider TypeDescriptor.AddProvider TypeDescriptor.AddProvider Method

定義

この型記述子のプロバイダーのリストに型説明のプロバイダーを追加します。Adds a type description provider to the list of providers for this type descriptor.

オーバーロード

AddProvider(TypeDescriptionProvider, Object) AddProvider(TypeDescriptionProvider, Object) AddProvider(TypeDescriptionProvider, Object) AddProvider(TypeDescriptionProvider, Object)

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

AddProvider(TypeDescriptionProvider, Type) AddProvider(TypeDescriptionProvider, Type) AddProvider(TypeDescriptionProvider, Type)

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

AddProvider(TypeDescriptionProvider, Object) AddProvider(TypeDescriptionProvider, Object) AddProvider(TypeDescriptionProvider, Object) AddProvider(TypeDescriptionProvider, Object)

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

public:
 static void AddProvider(System::ComponentModel::TypeDescriptionProvider ^ provider, System::Object ^ instance);
public static void AddProvider (System.ComponentModel.TypeDescriptionProvider provider, object instance);
static member AddProvider : System.ComponentModel.TypeDescriptionProvider * obj -> unit
Public Shared Sub AddProvider (provider As TypeDescriptionProvider, instance As Object)

パラメーター

instance
Object Object Object Object

対象コンポーネントのインスタンス。An instance of the target component.

例外

一方または両方のパラメーターが null です。One or both of the parameters are null.

注釈

メソッドAddProvider(TypeDescriptionProvider, Object)は、コンポーネントの1つのインスタンスの型情報を提供する型説明のプロバイダーを追加します。The AddProvider(TypeDescriptionProvider, Object) method adds a type description provider that supplies type information for a single instance of a component. このメソッドによってプロバイダーが追加されると、 CreateInstanceインスタンスが既に存在するため、プロバイダーのメソッドは呼び出されません。If a provider is added by this method, the provider's CreateInstance method will not be called because the instance already exists.

このメソッドは、コンポーネントへのハード参照を保持しないので、コンポーネントが終了するのを防ぐことはできません。This method does not maintain a hard reference to the component, so it does not prevent the component from finalizing.

同じ型またはオブジェクトに対して、複数の型説明のプロバイダーを追加することができます。It is possible to add multiple type description providers for the same type or object. このような場合は、型情報を提供する最初の型説明のプロバイダーが、排他的に使用されます。If this occurs, the first type description provider encountered that provides type information will be used exclusively. 型情報プロバイダーはスタックに格納されるため、最後に追加されたプロバイダーが最初にクエリを実行します。Since type information providers are stored in a stack, the last provider added will be the first one queried. この動作によりAddProvider(TypeDescriptionProvider, Object)RemoveProvider特定のシナリオで必要に応じて、メソッドとメソッドを使用して、型説明のプロバイダーをプッシュおよびポップすることができます。This behavior enables the AddProvider(TypeDescriptionProvider, Object) and RemoveProvider methods to be used to push and pop type description providers as required for particular scenarios.

成功した場合、このメソッドRefresh(Object)instanceパラメーターに対してメソッドを呼び出します。If successful, this method calls the Refresh(Object) method on the instance parameter.

注意

このメソッドの2つのバージョンでは、異なるスコープの結果が生成されます。The two versions of this method produce results with different scopes. パラメーターObjectを受け取るメソッドはAddProvider 、指定されたコンポーネントの1つのインスタンスだけに影響します。The AddProvider method that takes an Object parameter affects only that single instance of the component specified. これに対し、パラメーターをType受け取る他のオーバーロードは、その型によって記述されるコンポーネントのすべてのインスタンスに影響を及ぼします。In contrast, the other overload, which takes a Type parameter, affects all instances of the component described by that type.

部分的にAddProviderTransparent(TypeDescriptionProvider, Object)信頼されたコードから呼び出す必要がある場合は、メソッドを使用します。Use the AddProviderTransparent(TypeDescriptionProvider, Object) method if you need to call from partially trusted code.

セキュリティ

NamedPermissionSet
システムリソースにフルアクセスできます。for full access to system resources. 要求の値LinkDemand:。Demand value: LinkDemand. 関連付けられた状態:Associated state:

こちらもご覧ください

AddProvider(TypeDescriptionProvider, Type) AddProvider(TypeDescriptionProvider, Type) AddProvider(TypeDescriptionProvider, Type)

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

public:
 static void AddProvider(System::ComponentModel::TypeDescriptionProvider ^ provider, Type ^ type);
public static void AddProvider (System.ComponentModel.TypeDescriptionProvider provider, Type type);
static member AddProvider : System.ComponentModel.TypeDescriptionProvider * Type -> unit

パラメーター

type
Type Type Type Type

対象のコンポーネントの TypeThe Type of the target component.

例外

一方または両方のパラメーターが null です。One or both of the parameters are null.

注釈

メソッドAddProvider(TypeDescriptionProvider, Type)は、指定されたクラス、派生クラス、およびこれらの型のすべてのインスタンスの型情報を提供する型説明のプロバイダーを追加します。The AddProvider(TypeDescriptionProvider, Type) method adds a type description provider that supplies type information for the specified class, derived classes, and all instances of these types.

注意

パラメーター typeには、インターフェイスを含む任意の型を指定できます。The type parameter can be any type, including an interface. たとえば、すべてのコンポーネントに対してカスタムの型とインスタンスの情報を提供typeof(IComponent)するには、を指定します。For example, to provide custom type and instance information for all components, you would specify typeof(IComponent). typeof(object)渡すと、プロバイダーが呼び出され、すべての型の型情報が提供されます。Passing typeof(object) will call the provider to supply type information for all types.

このメソッドは、オブジェクトへのハード参照を保持しないため、オブジェクトの終了を防ぐことはできません。This method does not maintain a hard reference to any object, so it does not prevent objects from finalizing.

同じ型またはオブジェクトに対して、複数の型説明のプロバイダーを追加することができます。It is possible to add multiple type description providers for the same type or object. このような場合は、型情報を提供する最初の型説明のプロバイダーが、排他的に使用されます。If this occurs, the first type description provider encountered that provides type information will be used exclusively. 型情報プロバイダーはスタックに格納されるため、最後に追加されたプロバイダーが最初にクエリを実行します。Because type information providers are stored in a stack, the last provider added will be the first one queried. この動作によりAddProvider(TypeDescriptionProvider, Type)RemoveProvider特定のシナリオで必要に応じて、メソッドとメソッドを使用して、型説明のプロバイダーをプッシュおよびポップすることができます。This behavior enables the AddProvider(TypeDescriptionProvider, Type) and RemoveProvider methods to be used to push and pop type description providers as required for particular scenarios.

成功した場合、このメソッドRefresh(Type)typeパラメーターに対してメソッドを呼び出します。If successful, this method calls the Refresh(Type) method on the type parameter.

注意

このメソッドの2つのバージョンでは、異なるスコープの結果が生成されます。The two versions of this method produce results with different scopes. パラメーターObjectを受け取るメソッドはAddProvider 、指定されたコンポーネントの1つのインスタンスだけに影響します。The AddProvider method that takes an Object parameter affects only that single instance of the component specified. これに対し、パラメーターをType受け取る他のオーバーロードは、その型によって記述されるコンポーネントのすべてのインスタンスに影響を及ぼします。In contrast, the other overload, which takes a Type parameter, affects all instances of the component described by that type.

部分的にAddProviderTransparent(TypeDescriptionProvider, Type)信頼されたコードから呼び出す必要がある場合は、メソッドを使用します。Use the AddProviderTransparent(TypeDescriptionProvider, Type) method if you need to call from partially trusted code.

セキュリティ

NamedPermissionSet
システムリソースにフルアクセスできます。for full access to system resources. 要求の値LinkDemand:。Demand value: LinkDemand. 関連付けられた状態:Associated state:

こちらもご覧ください

適用対象