TypeDescriptor.AddProvider Metodo

Definizione

Aggiunge un provider del descrittore di tipo all'elenco di provider per questo descrittore di tipo.Adds a type description provider to the list of providers for this type descriptor.

Overload

AddProvider(TypeDescriptionProvider, Object)

Aggiunge un provider di descrizione del tipo per una singola istanza di un componente.Adds a type description provider for a single instance of a component.

AddProvider(TypeDescriptionProvider, Type)

Aggiunge un provider di descrizioni di tipo per una classe Component.Adds a type description provider for a component class.

AddProvider(TypeDescriptionProvider, Object)

Aggiunge un provider di descrizione del tipo per una singola istanza di un componente.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)

Parametri

provider
TypeDescriptionProvider

Oggetto TypeDescriptionProvider da aggiungere.The TypeDescriptionProvider to add.

instance
Object

Istanza del componente di destinazione.An instance of the target component.

Eccezioni

Uno o entrambi i parametri sono null.One or both of the parameters are null.

Commenti

Il metodo AddProvider(TypeDescriptionProvider, Object) aggiunge un provider di descrizione del tipo che fornisce le informazioni sul tipo per una singola istanza di un componente.The AddProvider(TypeDescriptionProvider, Object) method adds a type description provider that supplies type information for a single instance of a component. Se un provider viene aggiunto da questo metodo, il CreateInstance metodo del provider non verrà chiamato perché l'istanza esiste già.If a provider is added by this method, the provider's CreateInstance method will not be called because the instance already exists.

Questo metodo non mantiene un riferimento fisso al componente, quindi non impedisce la finalizzazione del componente.This method does not maintain a hard reference to the component, so it does not prevent the component from finalizing.

È possibile aggiungere più provider di descrizioni dei tipi per lo stesso tipo o oggetto.It is possible to add multiple type description providers for the same type or object. In tal caso, il primo provider di descrizioni dei tipi rilevato che fornisce le informazioni sul tipo verranno utilizzate in modo esclusivo.If this occurs, the first type description provider encountered that provides type information will be used exclusively. Poiché i provider di informazioni sul tipo vengono archiviati in uno stack, l'ultimo provider aggiunto sarà il primo a cui viene eseguita una query.Since type information providers are stored in a stack, the last provider added will be the first one queried. Questo comportamento consente di usare i metodi AddProvider(TypeDescriptionProvider, Object) e RemoveProvider per inserire e pop i provider di descrizioni dei tipi come richiesto per determinati scenari.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.

Se ha esito positivo, questo metodo chiama il metodo Refresh(Object) sul parametro instance.If successful, this method calls the Refresh(Object) method on the instance parameter.

Nota

Le due versioni di questo metodo producono risultati con ambiti diversi.The two versions of this method produce results with different scopes. Il AddProvider metodo che accetta un parametro di Object ha effetto solo su quella singola istanza del componente specificato.The AddProvider method that takes an Object parameter affects only that single instance of the component specified. Al contrario, l'altro overload, che accetta un Type parametro, influiscono su tutte le istanze del componente descritto da tale tipo.In contrast, the other overload, which takes a Type parameter, affects all instances of the component described by that type.

Usare il metodo AddProviderTransparent(TypeDescriptionProvider, Object) se è necessario chiamare da codice parzialmente attendibile.Use the AddProviderTransparent(TypeDescriptionProvider, Object) method if you need to call from partially trusted code.

Sicurezza

NamedPermissionSet
per l'accesso completo alle risorse di sistema.for full access to system resources. Valore della richiesta: LinkDemand.Demand value: LinkDemand. Stato associato:Associated state:

Vedi anche

AddProvider(TypeDescriptionProvider, Type)

Aggiunge un provider di descrizioni di tipo per una classe Component.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

Parametri

provider
TypeDescriptionProvider

Oggetto TypeDescriptionProvider da aggiungere.The TypeDescriptionProvider to add.

type
Type

Oggetto Type del componente di destinazione.The Type of the target component.

Eccezioni

Uno o entrambi i parametri sono null.One or both of the parameters are null.

Commenti

Il metodo AddProvider(TypeDescriptionProvider, Type) aggiunge un provider di descrizione del tipo che fornisce informazioni sul tipo per la classe specificata, le classi derivate e tutte le istanze di questi tipi.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.

Nota

Il parametro type può essere di qualsiasi tipo, inclusa un'interfaccia.The type parameter can be any type, including an interface. Ad esempio, per fornire informazioni sul tipo e sull'istanza personalizzate per tutti i componenti, è necessario specificare typeof(IComponent).For example, to provide custom type and instance information for all components, you would specify typeof(IComponent). Il passaggio di typeof(object) chiamerà il provider per fornire informazioni sul tipo per tutti i tipi.Passing typeof(object) will call the provider to supply type information for all types.

Questo metodo non mantiene un riferimento fisso a qualsiasi oggetto, quindi non impedisce la finalizzazione degli oggetti.This method does not maintain a hard reference to any object, so it does not prevent objects from finalizing.

È possibile aggiungere più provider di descrizioni dei tipi per lo stesso tipo o oggetto.It is possible to add multiple type description providers for the same type or object. In tal caso, il primo provider di descrizioni dei tipi rilevato che fornisce le informazioni sul tipo verranno utilizzate in modo esclusivo.If this occurs, the first type description provider encountered that provides type information will be used exclusively. Poiché i provider di informazioni sul tipo vengono archiviati in uno stack, l'ultimo provider aggiunto sarà il primo a cui viene eseguita una query.Because type information providers are stored in a stack, the last provider added will be the first one queried. Questo comportamento consente di usare i metodi AddProvider(TypeDescriptionProvider, Type) e RemoveProvider per inserire e pop i provider di descrizioni dei tipi come richiesto per determinati scenari.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.

Se ha esito positivo, questo metodo chiama il metodo Refresh(Type) sul parametro type.If successful, this method calls the Refresh(Type) method on the type parameter.

Nota

Le due versioni di questo metodo producono risultati con ambiti diversi.The two versions of this method produce results with different scopes. Il AddProvider metodo che accetta un parametro di Object ha effetto solo su quella singola istanza del componente specificato.The AddProvider method that takes an Object parameter affects only that single instance of the component specified. Al contrario, l'altro overload, che accetta un Type parametro, influiscono su tutte le istanze del componente descritto da tale tipo.In contrast, the other overload, which takes a Type parameter, affects all instances of the component described by that type.

Usare il metodo AddProviderTransparent(TypeDescriptionProvider, Type) se è necessario chiamare da codice parzialmente attendibile.Use the AddProviderTransparent(TypeDescriptionProvider, Type) method if you need to call from partially trusted code.

Sicurezza

NamedPermissionSet
per l'accesso completo alle risorse di sistema.for full access to system resources. Valore della richiesta: LinkDemand.Demand value: LinkDemand. Stato associato:Associated state:

Vedi anche

Si applica a