TypeDescriptor.AddProvider Metoda

Definice

Přidá zprostředkovatele popisu typu do seznamu zprostředkovatelů pro tento popisovač typu.

Přetížení

Name Description
AddProvider(TypeDescriptionProvider, Object)

Přidá zprostředkovatele popisu typu pro jednu instanci komponenty.

AddProvider(TypeDescriptionProvider, Type)

Přidá zprostředkovatele popisu typu pro třídu komponenty.

AddProvider(TypeDescriptionProvider, Object)

Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs

Přidá zprostředkovatele popisu typu pro jednu instanci komponenty.

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)

Parametry

instance
Object

Instance cílové komponenty.

Výjimky

Jeden nebo oba parametry jsou null.

Poznámky

Metoda AddProvider(TypeDescriptionProvider, Object) přidá zprostředkovatele popisu typu, který poskytuje informace o typu pro jednu instanci komponenty. Pokud je zprostředkovatel přidán touto metodou, metoda zprostředkovatele CreateInstance nebude volána, protože instance již existuje.

Tato metoda neudržuje pevný odkaz na komponentu, takže nezabrání dokončení komponenty.

Pro stejný typ nebo objekt je možné přidat více zprostředkovatelů popisu typu. Pokud k tomu dojde, použije se výhradně první zprostředkovatel popisu typu, který poskytuje informace o typu. Vzhledem k tomu, že poskytovatelé informací o typu jsou uloženi v zásobníku, poslední přidaný zprostředkovatel bude prvním dotazem. Toto chování umožňuje AddProvider(TypeDescriptionProvider, Object) použít a RemoveProvider metody pro nabízení a pop popis zprostředkovatele popisů podle potřeby pro konkrétní scénáře.

Pokud je tato metoda úspěšná, volá metodu Refresh(Object) parametru instance .

Note

Dvě verze této metody vytvářejí výsledky s různými obory. Metoda AddProvider , která přebírá Object parametr, má vliv pouze na jednu instanci zadané komponenty. Naproti tomu druhé přetížení, které přebírá Type parametr, ovlivňuje všechny instance komponenty popsané tímto typem.

Tuto metodu AddProviderTransparent(TypeDescriptionProvider, Object) použijte, pokud potřebujete volat z částečně důvěryhodného kódu.

Viz také

Platí pro

AddProvider(TypeDescriptionProvider, Type)

Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs

Přidá zprostředkovatele popisu typu pro třídu komponenty.

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)

Parametry

type
Type

Cílová komponenta Type .

Výjimky

Jeden nebo oba parametry jsou null.

Poznámky

Metoda AddProvider(TypeDescriptionProvider, Type) přidá zprostředkovatele popisu typu, který poskytuje informace o typu pro zadanou třídu, odvozené třídy a všechny instance těchto typů.

Note

Parametr type může být libovolný typ, včetně rozhraní. Pokud chcete například zadat vlastní typ a informace o instanci pro všechny komponenty, zadáte typeof(IComponent). Předání typeof(object) zavolá poskytovatele, aby zadal informace o typu pro všechny typy.

Tato metoda neudržuje pevný odkaz na žádný objekt, takže nebrání dokončení objektů.

Pro stejný typ nebo objekt je možné přidat více zprostředkovatelů popisu typu. Pokud k tomu dojde, použije se výhradně první zprostředkovatel popisu typu, který poskytuje informace o typu. Vzhledem k tomu, že poskytovatelé informací o typu jsou uloženi v zásobníku, poslední přidaný zprostředkovatel bude prvním dotazem. Toto chování umožňuje AddProvider(TypeDescriptionProvider, Type) použít a RemoveProvider metody pro nabízení a pop popis zprostředkovatele popisů podle potřeby pro konkrétní scénáře.

Pokud je tato metoda úspěšná, volá metodu Refresh(Type) parametru type .

Note

Dvě verze této metody vytvářejí výsledky s různými obory. Metoda AddProvider , která přebírá Object parametr, má vliv pouze na jednu instanci zadané komponenty. Naproti tomu druhé přetížení, které přebírá Type parametr, ovlivňuje všechny instance komponenty popsané tímto typem.

Tuto metodu AddProviderTransparent(TypeDescriptionProvider, Type) použijte, pokud potřebujete volat z částečně důvěryhodného kódu.

Viz také

Platí pro