TypeDescriptor.AddProvider Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- provider
- TypeDescriptionProvider
De TypeDescriptionProvider te toevoegen.
- 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
- provider
- TypeDescriptionProvider
De TypeDescriptionProvider te toevoegen.
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.