TypeDescriptor Classe

Definizione

Fornisce informazioni sulle caratteristiche di un componente, ad esempio gli attributi, le proprietà e gli eventi. Questa classe non può essere ereditata.

public ref class TypeDescriptor sealed
public sealed class TypeDescriptor
type TypeDescriptor = class
Public NotInheritable Class TypeDescriptor
Ereditarietà
TypeDescriptor

Commenti

.NET Framework offre due modi per accedere ai metadati in un tipo: l'API reflection fornita nello spazio dei nomi System.Reflection e la classe TypeDescriptor. La reflection è un meccanismo generale disponibile per tutti i tipi perché la base viene stabilita nel metodo GetType della classe radice Object. Le informazioni restituite per un tipo non sono estendibili, in quanto non possono essere modificate dopo la compilazione del tipo di destinazione. Per altre informazioni, vedere gli argomenti in Reflection.

Al contrario, TypeDescriptor è un meccanismo di ispezione estendibile per i componenti: le classi che implementano l'interfaccia IComponent. A differenza della reflection, non controlla i metodi. TypeDescriptor può essere esteso dinamicamente da diversi servizi disponibili tramite il Sitedel componente di destinazione. La tabella seguente illustra questi servizi.

Nome servizio Descrizione
IExtenderProvider Consente a un'altra classe, ad esempio ToolTip, di fornire proprietà aggiuntive a un componente.
ITypeDescriptorFilterService Consente a un altro oggetto di modificare i metadati standard esposti da un componente.
ICustomTypeDescriptor Consente a una classe di specificare completamente e dinamicamente i propri metadati, sostituendo il meccanismo di ispezione standard di TypeDescriptor.

L'estendibilità fornita da TypeDescriptor consente la rappresentazione in fase di progettazione di un componente in modo diverso dalla relativa rappresentazione effettiva in fase di esecuzione, che rende TypeDescriptor utile per la creazione di un'infrastruttura in fase di progettazione.

Tutti i metodi in TypeDescriptor sono static. Non è possibile creare un'istanza di questa classe e questa classe non può essere ereditata.

È possibile impostare valori di proprietà ed eventi in due modi diversi: specificarli nella classe del componente o modificarli in fase di progettazione. Poiché è possibile impostare questi valori in due modi, i metodi di overload di TypeDescriptor accettano due tipi diversi di parametri: un tipo di classe o un'istanza dell'oggetto.

Quando si desidera accedere TypeDescriptor informazioni e si dispone di un'istanza dell'oggetto , utilizzare il metodo che chiama un componente. Utilizzare il metodo che chiama per il tipo di classe solo quando non si dispone di un'istanza dell'oggetto .

Le proprietà e gli eventi vengono memorizzati nella cache da TypeDescriptor per velocità. In genere, sono costanti per la durata di un oggetto. Tuttavia, i provider e le finestre di progettazione extender possono modificare il set di proprietà in un oggetto . In questo caso, è necessario chiamare il metodo Refresh per aggiornare la cache.

Proprietà

ComNativeDescriptorHandler
Obsoleti.
Obsoleti.
Obsoleti.
Obsoleti.

Ottiene o imposta il provider per le informazioni sul tipo COM (Component Object Model) per il componente di destinazione.

ComObjectType

Ottiene il tipo dell'oggetto COM (Component Object Model) rappresentato dal componente di destinazione.

InterfaceType

Ottiene un tipo che rappresenta un provider di descrizioni dei tipi per tutti i tipi di interfaccia.

Metodi

AddAttributes(Object, Attribute[])

Aggiunge attributi a livello di classe all'istanza del componente di destinazione.

AddAttributes(Type, Attribute[])

Aggiunge attributi a livello di classe al tipo di componente di destinazione.

AddEditorTable(Type, Hashtable)

Aggiunge una tabella dell'editor per il tipo di base dell'editor specificato.

AddProvider(TypeDescriptionProvider, Object)

Aggiunge un provider di descrizione del tipo per una singola istanza di un componente.

AddProvider(TypeDescriptionProvider, Type)

Aggiunge un provider di descrizione del tipo per una classe componente.

AddProviderTransparent(TypeDescriptionProvider, Object)

Aggiunge un provider di descrizione del tipo per una singola istanza di un componente.

AddProviderTransparent(TypeDescriptionProvider, Type)

Aggiunge un provider di descrizione del tipo per una classe componente.

CreateAssociation(Object, Object)

Crea un'associazione primaria-secondaria tra due oggetti.

CreateDesigner(IComponent, Type)

Crea un'istanza della finestra di progettazione associata al componente specificato e al tipo di finestra di progettazione specificato.

CreateEvent(Type, EventDescriptor, Attribute[])

Crea un nuovo descrittore di evento identico a un descrittore di evento esistente, quando viene passato il EventDescriptoresistente.

CreateEvent(Type, String, Type, Attribute[])

Crea un nuovo descrittore di evento identico a un descrittore di evento esistente generando in modo dinamico le informazioni del descrittore da un evento specificato in un tipo.

CreateInstance(IServiceProvider, Type, Type[], Object[])

Crea un oggetto che può sostituire un altro tipo di dati.

CreateProperty(Type, PropertyDescriptor, Attribute[])

Crea un nuovo descrittore di proprietà da un descrittore di proprietà esistente, usando l'oggetto PropertyDescriptor e la matrice di attributi esistente specificata.

CreateProperty(Type, String, Type, Attribute[])

Crea e associa dinamicamente un descrittore di proprietà a un tipo, usando il nome, il tipo e la matrice di attributi specificati.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetAssociation(Type, Object)

Restituisce un'istanza del tipo associato all'oggetto primario specificato.

GetAttributes(Object)

Restituisce la raccolta di attributi per il componente specificato.

GetAttributes(Object, Boolean)

Restituisce una raccolta di attributi per il componente specificato e un valore Boolean che indica che è stato creato un descrittore di tipo personalizzato.

GetAttributes(Type)

Restituisce una raccolta di attributi per il tipo di componente specificato.

GetClassName(Object)

Restituisce il nome della classe per il componente specificato utilizzando il descrittore di tipo predefinito.

GetClassName(Object, Boolean)

Restituisce il nome della classe per il componente specificato utilizzando un descrittore di tipo personalizzato.

GetClassName(Type)

Restituisce il nome della classe per il tipo specificato.

GetComponentName(Object)

Restituisce il nome del componente specificato utilizzando il descrittore di tipo predefinito.

GetComponentName(Object, Boolean)

Restituisce il nome del componente specificato utilizzando un descrittore di tipo personalizzato.

GetConverter(Object)

Restituisce un convertitore di tipi per il tipo del componente specificato.

GetConverter(Object, Boolean)

Restituisce un convertitore di tipi per il tipo del componente specificato con un descrittore di tipo personalizzato.

GetConverter(Type)

Restituisce un convertitore di tipi per il tipo specificato.

GetConverterFromRegisteredType(Object)

Ottiene un convertitore di tipi per il tipo del componente specificato.

GetConverterFromRegisteredType(Type)

Ottiene un convertitore di tipi per il tipo registrato specificato.

GetDefaultEvent(Object)

Restituisce l'evento predefinito per il componente specificato.

GetDefaultEvent(Object, Boolean)

Restituisce l'evento predefinito per un componente con un descrittore di tipo personalizzato.

GetDefaultEvent(Type)

Restituisce l'evento predefinito per il tipo di componente specificato.

GetDefaultProperty(Object)

Restituisce la proprietà predefinita per il componente specificato.

GetDefaultProperty(Object, Boolean)

Restituisce la proprietà predefinita per il componente specificato con un descrittore di tipo personalizzato.

GetDefaultProperty(Type)

Restituisce la proprietà predefinita per il tipo di componente specificato.

GetEditor(Object, Type)

Ottiene un editor con il tipo di base specificato per il componente specificato.

GetEditor(Object, Type, Boolean)

Restituisce un editor con il tipo di base specificato e con un descrittore di tipo personalizzato per il componente specificato.

GetEditor(Type, Type)

Restituisce un editor con il tipo di base specificato per il tipo specificato.

GetEvents(Object)

Restituisce la raccolta di eventi per il componente specificato.

GetEvents(Object, Attribute[])

Restituisce la raccolta di eventi per un componente specificato utilizzando una matrice di attributi specificata come filtro.

GetEvents(Object, Attribute[], Boolean)

Restituisce la raccolta di eventi per un componente specificato utilizzando una matrice di attributi specificata come filtro e utilizzando un descrittore di tipo personalizzato.

GetEvents(Object, Boolean)

Restituisce la raccolta di eventi per un componente specificato con un descrittore di tipo personalizzato.

GetEvents(Type)

Restituisce la raccolta di eventi per un tipo di componente specificato.

GetEvents(Type, Attribute[])

Restituisce la raccolta di eventi per un tipo specificato di componente utilizzando una matrice di attributi specificata come filtro.

GetEventsFromRegisteredType(Type)

Ottiene una raccolta di eventi per un tipo specificato di componente.

GetFullComponentName(Object)

Restituisce il nome completo del componente.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetProperties(Object)

Restituisce l'insieme di proprietà per un componente specificato.

GetProperties(Object, Attribute[])

Restituisce la raccolta di proprietà per un componente specificato utilizzando una matrice di attributi specificata come filtro.

GetProperties(Object, Attribute[], Boolean)

Restituisce la raccolta di proprietà per un componente specificato utilizzando una matrice di attributi specificata come filtro e utilizzando un descrittore di tipo personalizzato.

GetProperties(Object, Boolean)

Restituisce la raccolta di proprietà per un componente specificato utilizzando il descrittore di tipo predefinito.

GetProperties(Type)

Restituisce l'insieme di proprietà per un tipo di componente specificato.

GetProperties(Type, Attribute[])

Restituisce la raccolta di proprietà per un tipo specificato di componente utilizzando una matrice di attributi specificata come filtro.

GetPropertiesFromRegisteredType(Object)

Ottiene una raccolta di proprietà per un componente specificato.

GetPropertiesFromRegisteredType(Type)

Ottiene una raccolta di proprietà per un tipo specificato.

GetProvider(Object)

Restituisce il provider di descrizione del tipo per il componente specificato.

GetProvider(Type)

Restituisce il provider di descrizione del tipo per il tipo specificato.

GetReflectionType(Object)

Restituisce un Type che può essere utilizzato per eseguire la reflection, dato un oggetto .

GetReflectionType(Type)

Restituisce un Type che può essere utilizzato per eseguire la reflection, in base a un tipo di classe.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Refresh(Assembly)

Cancella le proprietà e gli eventi per l'assembly specificato dalla cache.

Refresh(Module)

Cancella le proprietà e gli eventi per il modulo specificato dalla cache.

Refresh(Object)

Cancella le proprietà e gli eventi per il componente specificato dalla cache.

Refresh(Type)

Cancella le proprietà e gli eventi per il tipo di componente specificato dalla cache.

RegisterType<T>()

Registra il tipo in modo che possa essere usato dai provider basati su reflection in applicazioni tagliate.

RemoveAssociation(Object, Object)

Rimuove un'associazione tra due oggetti.

RemoveAssociations(Object)

Rimuove tutte le associazioni per un oggetto primario.

RemoveProvider(TypeDescriptionProvider, Object)

Rimuove un provider di descrizione del tipo aggiunto in precedenza associato all'oggetto specificato.

RemoveProvider(TypeDescriptionProvider, Type)

Rimuove un provider di descrizione del tipo aggiunto in precedenza associato al tipo specificato.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

Rimuove un provider di descrizione del tipo aggiunto in precedenza associato all'oggetto specificato.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

Rimuove un provider di descrizione del tipo aggiunto in precedenza associato al tipo specificato.

SortDescriptorArray(IList)

Ordina i descrittori usando il nome del descrittore.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Eventi

Refreshed

Si verifica quando la cache per un componente viene cancellata.

Si applica a

Vedi anche