TypeDescriptor.AddProvider Method

Definition

Ajoute un fournisseur de description de type à la liste des fournisseurs de ce descripteur de type.Adds a type description provider to the list of providers for this type descriptor.

Overloads

AddProvider(TypeDescriptionProvider, Object)

Ajoute un fournisseur de description de type pour une instance unique d’un composant.Adds a type description provider for a single instance of a component.

AddProvider(TypeDescriptionProvider, Type)

Ajoute un fournisseur de description de type pour une classe de composant.Adds a type description provider for a component class.

AddProvider(TypeDescriptionProvider, Object)

Ajoute un fournisseur de description de type pour une instance unique d’un composant.Adds a type description provider for a single instance of a component.

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

Instance du composant cible.An instance of the target component.

Exceptions

Au moins l’un des deux paramètres a la valeur null.One or both of the parameters are null.

Remarks

La méthode AddProvider(TypeDescriptionProvider, Object) ajoute un fournisseur de description de type qui fournit des informations de type pour une instance unique d’un composant.The AddProvider(TypeDescriptionProvider, Object) method adds a type description provider that supplies type information for a single instance of a component. Si un fournisseur est ajouté par cette méthode, la méthode CreateInstance du fournisseur ne sera pas appelée car l’instance existe déjà.If a provider is added by this method, the provider's CreateInstance method will not be called because the instance already exists.

Cette méthode ne conservera pas une référence matérielle au composant, donc elle n’empêche pas la finalisation du composant.This method does not maintain a hard reference to the component, so it does not prevent the component from finalizing.

Il est possible d’ajouter plusieurs fournisseurs de description de type pour le même type ou objet.It is possible to add multiple type description providers for the same type or object. Si cela se produit, le premier fournisseur de description de type rencontré qui fournit des informations de type sera utilisé exclusivement.If this occurs, the first type description provider encountered that provides type information will be used exclusively. Étant donné que les fournisseurs d’informations de type sont stockés dans une pile, le dernier fournisseur ajouté est le premier à être interrogé.Since type information providers are stored in a stack, the last provider added will be the first one queried. Ce comportement permet d’utiliser les méthodes AddProvider(TypeDescriptionProvider, Object) et RemoveProvider pour envoyer et dépiler des fournisseurs de description de type selon les besoins pour des scénarios particuliers.This behavior enables the AddProvider(TypeDescriptionProvider, Object) and RemoveProvider methods to be used to push and pop type description providers as required for particular scenarios.

En cas de réussite, cette méthode appelle la méthode Refresh(Object) sur le paramètre instance.If successful, this method calls the Refresh(Object) method on the instance parameter.

Note

Les deux versions de cette méthode produisent des résultats avec des étendues différentes.The two versions of this method produce results with different scopes. La méthode AddProvider qui accepte un paramètre Object affecte uniquement cette instance unique du composant spécifié.The AddProvider method that takes an Object parameter affects only that single instance of the component specified. En revanche, l’autre surcharge, qui prend un paramètre Type, affecte toutes les instances du composant décrit par ce type.In contrast, the other overload, which takes a Type parameter, affects all instances of the component described by that type.

Utilisez la méthode AddProviderTransparent(TypeDescriptionProvider, Object) si vous devez appeler à partir de code partiellement fiable.Use the AddProviderTransparent(TypeDescriptionProvider, Object) method if you need to call from partially trusted code.

See also

AddProvider(TypeDescriptionProvider, Type)

Ajoute un fournisseur de description de type pour une classe de composant.Adds a type description provider for a component class.

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

Type du composant cible.The Type of the target component.

Exceptions

Au moins l’un des deux paramètres a la valeur null.One or both of the parameters are null.

Remarks

La méthode AddProvider(TypeDescriptionProvider, Type) ajoute un fournisseur de description de type qui fournit des informations de type pour la classe spécifiée, les classes dérivées et toutes les instances de ces types.The AddProvider(TypeDescriptionProvider, Type) method adds a type description provider that supplies type information for the specified class, derived classes, and all instances of these types.

Note

Le paramètre type peut être n’importe quel type, y compris une interface.The type parameter can be any type, including an interface. Par exemple, pour fournir des informations de type et d’instance personnalisées pour tous les composants, vous devez spécifier typeof(IComponent).For example, to provide custom type and instance information for all components, you would specify typeof(IComponent). Le passage de typeof(object) appellera le fournisseur pour fournir des informations de type pour tous les types.Passing typeof(object) will call the provider to supply type information for all types.

Cette méthode ne conservera pas une référence matérielle à un objet, donc elle n’empêche pas la finalisation des objets.This method does not maintain a hard reference to any object, so it does not prevent objects from finalizing.

Il est possible d’ajouter plusieurs fournisseurs de description de type pour le même type ou objet.It is possible to add multiple type description providers for the same type or object. Si cela se produit, le premier fournisseur de description de type rencontré qui fournit des informations de type sera utilisé exclusivement.If this occurs, the first type description provider encountered that provides type information will be used exclusively. Étant donné que les fournisseurs d’informations de type sont stockés dans une pile, le dernier fournisseur ajouté est le premier à être interrogé.Because type information providers are stored in a stack, the last provider added will be the first one queried. Ce comportement permet d’utiliser les méthodes AddProvider(TypeDescriptionProvider, Type) et RemoveProvider pour envoyer et dépiler des fournisseurs de description de type selon les besoins pour des scénarios particuliers.This behavior enables the AddProvider(TypeDescriptionProvider, Type) and RemoveProvider methods to be used to push and pop type description providers as required for particular scenarios.

En cas de réussite, cette méthode appelle la méthode Refresh(Type) sur le paramètre type.If successful, this method calls the Refresh(Type) method on the type parameter.

Note

Les deux versions de cette méthode produisent des résultats avec des étendues différentes.The two versions of this method produce results with different scopes. La méthode AddProvider qui accepte un paramètre Object affecte uniquement cette instance unique du composant spécifié.The AddProvider method that takes an Object parameter affects only that single instance of the component specified. En revanche, l’autre surcharge, qui prend un paramètre Type, affecte toutes les instances du composant décrit par ce type.In contrast, the other overload, which takes a Type parameter, affects all instances of the component described by that type.

Utilisez la méthode AddProviderTransparent(TypeDescriptionProvider, Type) si vous devez appeler à partir de code partiellement fiable.Use the AddProviderTransparent(TypeDescriptionProvider, Type) method if you need to call from partially trusted code.

See also

Applies to