TypeDescriptor.AddProvider Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Dodaje dostawcę opisu typu do listy dostawców dla deskryptora tego typu.
Przeciążenia
AddProvider(TypeDescriptionProvider, Object) |
Dodaje dostawcę opisu typu dla pojedynczego wystąpienia składnika. |
AddProvider(TypeDescriptionProvider, Type) |
Dodaje dostawcę opisu typu dla klasy składnika. |
AddProvider(TypeDescriptionProvider, Object)
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
Dodaje dostawcę opisu typu dla pojedynczego wystąpienia składnika.
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
- provider
- TypeDescriptionProvider
Element do dodania TypeDescriptionProvider .
- instance
- Object
Wystąpienie składnika docelowego.
Wyjątki
Jeden lub oba parametry to null
.
Uwagi
Metoda AddProvider(TypeDescriptionProvider, Object) dodaje dostawcę opisu typu, który dostarcza informacje o typie dla pojedynczego wystąpienia składnika. Jeśli dostawca zostanie dodany przez tę metodę, metoda dostawcy CreateInstance nie zostanie wywołana, ponieważ wystąpienie już istnieje.
Ta metoda nie utrzymuje twardego odwołania do składnika, więc nie uniemożliwia finalizowania składnika.
Istnieje możliwość dodania wielu dostawców opisu typu dla tego samego typu lub obiektu. Jeśli tak się stanie, pierwszy dostawca opisu typu napotkał, który udostępnia informacje o typie, będzie używany wyłącznie. Ponieważ dostawcy informacji o typie są przechowywane w stosie, ostatni dodany dostawca będzie pierwszym, którego dotyczy zapytanie. To zachowanie umożliwia AddProvider(TypeDescriptionProvider, Object) użycie metod i RemoveProvider do wypychania i wyskakujących opisów typów zgodnie z wymaganiami w określonych scenariuszach.
W przypadku powodzenia ta metoda wywołuje metodę Refresh(Object) w parametrze instance
.
Uwaga
Dwie wersje tej metody generują wyniki z różnymi zakresami. Metoda AddProvider , która przyjmuje Object parametr, ma wpływ tylko na pojedyncze wystąpienie określonego składnika. Natomiast inne przeciążenie, które przyjmuje Type parametr, wpływa na wszystkie wystąpienia składnika opisanego przez ten typ.
Użyj metody , AddProviderTransparent(TypeDescriptionProvider, Object) jeśli musisz wywołać kod częściowo zaufany.
Zobacz też
Dotyczy
AddProvider(TypeDescriptionProvider, Type)
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
Dodaje dostawcę opisu typu dla klasy składnika.
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
- provider
- TypeDescriptionProvider
Element do dodania TypeDescriptionProvider .
Wyjątki
Jeden lub oba parametry to null
.
Uwagi
Metoda AddProvider(TypeDescriptionProvider, Type) dodaje dostawcę opisu typu, który dostarcza informacje o typie dla określonej klasy, klas pochodnych i wszystkich wystąpień tych typów.
Uwaga
Parametr type
może być dowolnym typem, w tym interfejsem. Aby na przykład podać informacje o typie niestandardowym i wystąpieniu dla wszystkich składników, należy określić typeof(IComponent)
wartość . Przekazanie spowoduje wywołanie typeof(object)
dostawcy w celu podania informacji o typie dla wszystkich typów.
Ta metoda nie utrzymuje twardego odwołania do żadnego obiektu, więc nie uniemożliwia finalizowania obiektów.
Istnieje możliwość dodania wielu dostawców opisu typu dla tego samego typu lub obiektu. Jeśli tak się stanie, pierwszy dostawca opisu typu napotkał, który udostępnia informacje o typie, będzie używany wyłącznie. Ponieważ dostawcy informacji o typach są przechowywani w stosie, ostatni dodany dostawca będzie pierwszym, którego dotyczy zapytanie. To zachowanie umożliwia AddProvider(TypeDescriptionProvider, Type) użycie metod i RemoveProvider do wypychania i wyskakujących opisów typów zgodnie z wymaganiami w określonych scenariuszach.
W przypadku powodzenia ta metoda wywołuje metodę Refresh(Type) w parametrze type
.
Uwaga
Dwie wersje tej metody generują wyniki z różnymi zakresami. Metoda AddProvider , która przyjmuje Object parametr, ma wpływ tylko na pojedyncze wystąpienie określonego składnika. Natomiast inne przeciążenie, które przyjmuje Type parametr, wpływa na wszystkie wystąpienia składnika opisanego przez ten typ.
Użyj metody , AddProviderTransparent(TypeDescriptionProvider, Type) jeśli musisz wywołać kod częściowo zaufany.