TypeDescriptor.AddProvider Methode

Definitie

Hiermee voegt u een typebeschrijvingsprovider toe aan de lijst met providers voor dit type descriptor.

Overloads

Name Description
AddProvider(TypeDescriptionProvider, Object)

Hiermee voegt u een typebeschrijvingsprovider toe voor één exemplaar van een onderdeel.

AddProvider(TypeDescriptionProvider, Type)

Hiermee voegt u een typebeschrijvingsprovider toe voor een onderdeelklasse.

AddProvider(TypeDescriptionProvider, Object)

Hiermee voegt u een typebeschrijvingsprovider toe voor één exemplaar van een onderdeel.

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)

Parameters

instance
Object

Een exemplaar van het doelonderdeel.

Uitzonderingen

Een of beide parameters zijn null.

Opmerkingen

Met de AddProvider(TypeDescriptionProvider, Object) methode wordt een typebeschrijvingsprovider toegevoegd die typegegevens levert voor één exemplaar van een onderdeel. Als een provider door deze methode wordt toegevoegd, wordt de methode van CreateInstance de provider niet aangeroepen omdat het exemplaar al bestaat.

Deze methode onderhoudt geen harde verwijzing naar het onderdeel, zodat het onderdeel niet kan worden voltooid.

Het is mogelijk om meerdere typen beschrijvingsproviders toe te voegen voor hetzelfde type of object. Als dit het geval is, wordt de eerste typebeschrijvingprovider die typegegevens verstrekt, uitsluitend gebruikt. Omdat type-informatieproviders worden opgeslagen in een stack, wordt de laatste provider die is toegevoegd, de eerste query uitgevoerd. Met dit gedrag kunnen providers AddProvider(TypeDescriptionProvider, Object)RemoveProvider van beschrijvingen van het type pushen en popen, zoals vereist voor bepaalde scenario's, worden gebruikt.

Als deze methode is geslaagd, wordt de Refresh(Object) methode voor de instance parameter aangeroepen.

Note

De twee versies van deze methode produceren resultaten met verschillende bereiken. De AddProvider methode die een Object parameter gebruikt, is alleen van invloed op dat ene exemplaar van het opgegeven onderdeel. De andere overbelasting, die een Type parameter gebruikt, is daarentegen van invloed op alle exemplaren van het onderdeel dat door dat type wordt beschreven.

Gebruik de AddProviderTransparent(TypeDescriptionProvider, Object) methode als u een aanroep van gedeeltelijk vertrouwde code moet uitvoeren.

Zie ook

Van toepassing op

AddProvider(TypeDescriptionProvider, Type)

Hiermee voegt u een typebeschrijvingsprovider toe voor een onderdeelklasse.

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)

Parameters

type
Type

Het Type doelonderdeel.

Uitzonderingen

Een of beide parameters zijn null.

Opmerkingen

Met AddProvider(TypeDescriptionProvider, Type) de methode wordt een typebeschrijvingsprovider toegevoegd die typegegevens levert voor de opgegeven klasse, afgeleide klassen en alle exemplaren van deze typen.

Note

De type parameter kan elk type zijn, inclusief een interface. Als u bijvoorbeeld aangepaste type- en exemplaargegevens voor alle onderdelen wilt opgeven, geeft u op typeof(IComponent). Als u doorgeeft typeof(object) , wordt de provider aangeroepen om typegegevens voor alle typen op te geven.

Met deze methode wordt geen harde verwijzing naar een object onderhouden, waardoor objecten niet kunnen worden voltooid.

Het is mogelijk om meerdere typen beschrijvingsproviders toe te voegen voor hetzelfde type of object. Als dit het geval is, wordt de eerste typebeschrijvingprovider die typegegevens verstrekt, uitsluitend gebruikt. Omdat typegegevensproviders worden opgeslagen in een stack, wordt de laatste toegevoegde provider de eerste query uitgevoerd. Met dit gedrag kunnen providers AddProvider(TypeDescriptionProvider, Type)RemoveProvider van beschrijvingen van het type pushen en popen, zoals vereist voor bepaalde scenario's, worden gebruikt.

Als deze methode is geslaagd, wordt de Refresh(Type) methode voor de type parameter aangeroepen.

Note

De twee versies van deze methode produceren resultaten met verschillende bereiken. De AddProvider methode die een Object parameter gebruikt, is alleen van invloed op dat ene exemplaar van het opgegeven onderdeel. De andere overbelasting, die een Type parameter gebruikt, is daarentegen van invloed op alle exemplaren van het onderdeel dat door dat type wordt beschreven.

Gebruik de AddProviderTransparent(TypeDescriptionProvider, Type) methode als u een aanroep van gedeeltelijk vertrouwde code moet uitvoeren.

Zie ook

Van toepassing op