TypeDescriptor.AddProvider Methode

Definition

Fügt der Liste der Anbieter für diesen Typdeskriptor einen Typbeschreibungsanbieter hinzu.Adds a type description provider to the list of providers for this type descriptor.

Überlädt

AddProvider(TypeDescriptionProvider, Object)

Fügt einen Typbeschreibungsanbieter für eine einzelne Instanz einer Komponente hinzu.Adds a type description provider for a single instance of a component.

AddProvider(TypeDescriptionProvider, Type)

Fügt einen Typbeschreibungsanbieter für eine Komponentenklasse hinzu.Adds a type description provider for a component class.

AddProvider(TypeDescriptionProvider, Object)

Fügt einen Typbeschreibungsanbieter für eine einzelne Instanz einer Komponente hinzu.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)

Parameter

instance
Object

Eine Instanz der Zielkomponente.An instance of the target component.

Ausnahmen

Ein oder beide Parameter sind null.One or both of the parameters are null.

Hinweise

Die- AddProvider(TypeDescriptionProvider, Object) Methode fügt einen Typbeschreibungs Anbieter hinzu, der Typinformationen für eine einzelne Instanz einer Komponente bereitstellt.The AddProvider(TypeDescriptionProvider, Object) method adds a type description provider that supplies type information for a single instance of a component. Wenn ein Anbieter von dieser Methode hinzugefügt wird, wird die-Methode des Anbieters CreateInstance nicht aufgerufen, da die Instanz bereits vorhanden ist.If a provider is added by this method, the provider's CreateInstance method will not be called because the instance already exists.

Diese Methode behält keinen festen Verweis auf die Komponente bei und verhindert daher nicht, dass die Komponente abgeschlossen wird.This method does not maintain a hard reference to the component, so it does not prevent the component from finalizing.

Es ist möglich, mehrere Typbeschreibungs Anbieter für denselben Typ oder dasselbe Objekt hinzuzufügen.It is possible to add multiple type description providers for the same type or object. In diesem Fall wird der erste Typbeschreibungs Anbieter, der Typinformationen bereitstellt, exklusiv verwendet.If this occurs, the first type description provider encountered that provides type information will be used exclusively. Da typinformations Anbieter in einem Stapel gespeichert werden, wird der letzte hinzugefügte Anbieter zum ersten Mal abgefragt.Since type information providers are stored in a stack, the last provider added will be the first one queried. Dadurch können die AddProvider(TypeDescriptionProvider, Object) -Methode und die- RemoveProvider Methode verwendet werden, um Typbeschreibungs Anbieter per Push und Pop nach Bedarf für bestimmte Szenarien zu verwenden.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.

Bei erfolgreicher Ausführung ruft diese Methode die- Refresh(Object) Methode für den- instance Parameter auf.If successful, this method calls the Refresh(Object) method on the instance parameter.

Hinweis

Die zwei Versionen dieser Methode führen zu Ergebnissen mit unterschiedlichen Bereichen.The two versions of this method produce results with different scopes. Die AddProvider Methode, die einen-Parameter annimmt, Object wirkt sich nur auf diese einzelne Instanz der angegebenen Komponente aus.The AddProvider method that takes an Object parameter affects only that single instance of the component specified. Im Gegensatz dazu wirkt sich die andere Überladung, die einen- Type Parameter annimmt, auf alle Instanzen der Komponente aus, die von diesem Typ beschrieben werden.In contrast, the other overload, which takes a Type parameter, affects all instances of the component described by that type.

Verwenden Sie die- AddProviderTransparent(TypeDescriptionProvider, Object) Methode, wenn Sie aus teilweise vertrauenswürdigem Code abrufen müssen.Use the AddProviderTransparent(TypeDescriptionProvider, Object) method if you need to call from partially trusted code.

Weitere Informationen

Gilt für:

AddProvider(TypeDescriptionProvider, Type)

Fügt einen Typbeschreibungsanbieter für eine Komponentenklasse hinzu.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
Public Shared Sub AddProvider (provider As TypeDescriptionProvider, type As Type)

Parameter

type
Type

Der Type der Zielkomponente.The Type of the target component.

Ausnahmen

Ein oder beide Parameter sind null.One or both of the parameters are null.

Hinweise

Die- AddProvider(TypeDescriptionProvider, Type) Methode fügt einen Typbeschreibungs Anbieter hinzu, der Typinformationen für die angegebene Klasse, abgeleitete Klassen und alle Instanzen dieser Typen bereitstellt.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.

Hinweis

Der- type Parameter kann ein beliebiger Typ sein, einschließlich einer Schnittstelle.The type parameter can be any type, including an interface. Wenn Sie z. b. benutzerdefinierte Typen-und Instanzinformationen für alle Komponenten angeben möchten, geben Sie an typeof(IComponent) .For example, to provide custom type and instance information for all components, you would specify typeof(IComponent). Durch typeof(object) die Übergabe von wird der Anbieter aufgerufen, um Typinformationen für alle Typen bereitzustellen.Passing typeof(object) will call the provider to supply type information for all types.

Diese Methode behält keinen festen Verweis auf ein Objekt bei und verhindert, dass Objekte abgeschlossen werden.This method does not maintain a hard reference to any object, so it does not prevent objects from finalizing.

Es ist möglich, mehrere Typbeschreibungs Anbieter für denselben Typ oder dasselbe Objekt hinzuzufügen.It is possible to add multiple type description providers for the same type or object. In diesem Fall wird der erste Typbeschreibungs Anbieter, der Typinformationen bereitstellt, exklusiv verwendet.If this occurs, the first type description provider encountered that provides type information will be used exclusively. Da typinformations Anbieter in einem Stapel gespeichert werden, wird der letzte hinzugefügte Anbieter zum ersten Mal abgefragt.Because type information providers are stored in a stack, the last provider added will be the first one queried. Dadurch können die AddProvider(TypeDescriptionProvider, Type) -Methode und die- RemoveProvider Methode verwendet werden, um Typbeschreibungs Anbieter per Push und Pop nach Bedarf für bestimmte Szenarien zu verwenden.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.

Bei erfolgreicher Ausführung ruft diese Methode die- Refresh(Type) Methode für den- type Parameter auf.If successful, this method calls the Refresh(Type) method on the type parameter.

Hinweis

Die zwei Versionen dieser Methode führen zu Ergebnissen mit unterschiedlichen Bereichen.The two versions of this method produce results with different scopes. Die AddProvider Methode, die einen-Parameter annimmt, Object wirkt sich nur auf diese einzelne Instanz der angegebenen Komponente aus.The AddProvider method that takes an Object parameter affects only that single instance of the component specified. Im Gegensatz dazu wirkt sich die andere Überladung, die einen- Type Parameter annimmt, auf alle Instanzen der Komponente aus, die von diesem Typ beschrieben werden.In contrast, the other overload, which takes a Type parameter, affects all instances of the component described by that type.

Verwenden Sie die- AddProviderTransparent(TypeDescriptionProvider, Type) Methode, wenn Sie aus teilweise vertrauenswürdigem Code abrufen müssen.Use the AddProviderTransparent(TypeDescriptionProvider, Type) method if you need to call from partially trusted code.

Weitere Informationen

Gilt für: