TypeDescriptor.AddProvider Methode

Definition

Fügt der Liste der Anbieter für diesen Typdeskriptor einen Typbeschreibungsanbieter hinzu.

Überlädt

AddProvider(TypeDescriptionProvider, Object)

Fügt einen Typbeschreibungsanbieter für eine einzelne Instanz einer Komponente hinzu.

AddProvider(TypeDescriptionProvider, Type)

Fügt einen Typbeschreibungsanbieter für eine Komponentenklasse hinzu.

AddProvider(TypeDescriptionProvider, Object)

Fügt einen Typbeschreibungsanbieter für eine einzelne Instanz einer Komponente hinzu.

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

provider
TypeDescriptionProvider

Das hinzuzufügende TypeDescriptionProvider.

instance
Object

Eine Instanz der Zielkomponente.

Ausnahmen

Ein oder beide Parameter sind null.

Hinweise

Die AddProvider(TypeDescriptionProvider, Object) -Methode fügt einen Typbeschreibungsanbieter hinzu, der Typinformationen für eine einzelne Instanz einer Komponente bereitstellt. Wenn von dieser Methode ein Anbieter hinzugefügt wird, wird die Methode des Anbieters CreateInstance nicht aufgerufen, da die Instanz bereits vorhanden ist.

Diese Methode behält keinen harten Verweis auf die Komponente bei, sodass sie nicht verhindert, dass die Komponente abgeschlossen wird.

Es ist möglich, mehrere Typbeschreibungsanbieter für den gleichen Typ oder dasselbe Objekt hinzuzufügen. In diesem Fall wird ausschließlich der erste Typbeschreibungsanbieter verwendet, der Typinformationen bereitstellt. Da Typinformationsanbieter in einem Stapel gespeichert werden, ist der zuletzt hinzugefügte Anbieter der erste abgefragte Anbieter. Dieses Verhalten ermöglicht es, die AddProvider(TypeDescriptionProvider, Object) Methoden und RemoveProvider zu verwenden, um Anbieter von Push- und Poptypbeschreibungen zu verwenden, wenn dies für bestimmte Szenarien erforderlich ist.

Bei erfolgreicher Ausführung ruft diese Methode die Refresh(Object) -Methode für den instance -Parameter auf.

Hinweis

Die beiden Versionen dieser Methode erzeugen Ergebnisse mit unterschiedlichen Bereichen. Die AddProvider Methode, die einen Object Parameter akzeptiert, wirkt sich nur auf die einzelne Instanz der angegebenen Komponente aus. Im Gegensatz dazu wirkt sich die andere Überladung, die einen Type -Parameter akzeptiert, auf alle Instanzen der Komponente aus, die von diesem Typ beschrieben wird.

Verwenden Sie die AddProviderTransparent(TypeDescriptionProvider, Object) -Methode, wenn Sie aus teilweise vertrauenswürdigem Code aufrufen müssen.

Weitere Informationen

Gilt für:

AddProvider(TypeDescriptionProvider, Type)

Fügt einen Typbeschreibungsanbieter für eine Komponentenklasse hinzu.

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

provider
TypeDescriptionProvider

Das hinzuzufügende TypeDescriptionProvider.

type
Type

Der Type der Zielkomponente.

Ausnahmen

Ein oder beide Parameter sind null.

Hinweise

Die AddProvider(TypeDescriptionProvider, Type) -Methode fügt einen Typbeschreibungsanbieter hinzu, der Typinformationen für die angegebene Klasse, abgeleitete Klassen und alle Instanzen dieser Typen bereitstellt.

Hinweis

Der type Parameter kann ein beliebiger Typ sein, einschließlich einer Schnittstelle. Um beispielsweise benutzerdefinierte Typ- und Instanzinformationen für alle Komponenten bereitzustellen, geben Sie an typeof(IComponent). Durch übergeben typeof(object) wird der Anbieter aufgerufen, um Typinformationen für alle Typen anzugeben.

Diese Methode behält keinen harten Verweis auf ein Objekt bei, sodass sie nicht verhindert, dass Objekte abgeschlossen werden.

Es ist möglich, mehrere Typbeschreibungsanbieter für den gleichen Typ oder dasselbe Objekt hinzuzufügen. In diesem Fall wird ausschließlich der erste Typbeschreibungsanbieter verwendet, der Typinformationen bereitstellt. Da Typinformationsanbieter in einem Stapel gespeichert werden, ist der zuletzt hinzugefügte Anbieter der erste abgefragte Anbieter. Dieses Verhalten ermöglicht es, die AddProvider(TypeDescriptionProvider, Type) Methoden und RemoveProvider zu verwenden, um Anbieter von Push- und Poptypbeschreibungen zu verwenden, wenn dies für bestimmte Szenarien erforderlich ist.

Bei erfolgreicher Ausführung ruft diese Methode die Refresh(Type) -Methode für den type -Parameter auf.

Hinweis

Die beiden Versionen dieser Methode erzeugen Ergebnisse mit unterschiedlichen Bereichen. Die AddProvider Methode, die einen Object Parameter akzeptiert, wirkt sich nur auf die einzelne Instanz der angegebenen Komponente aus. Im Gegensatz dazu wirkt sich die andere Überladung, die einen Type -Parameter akzeptiert, auf alle Instanzen der Komponente aus, die von diesem Typ beschrieben wird.

Verwenden Sie die AddProviderTransparent(TypeDescriptionProvider, Type) -Methode, wenn Sie aus teilweise vertrauenswürdigem Code aufrufen müssen.

Weitere Informationen

Gilt für: