TypeDescriptor Classe

Definizione

Offre informazioni sulle caratteristiche di un componente, ad esempio gli attributi, le proprietà e gli eventi. La 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 di reflection fornita nello System.Reflection spazio dei nomi e la TypeDescriptor classe . La reflection è un meccanismo generale disponibile per tutti i tipi perché la base viene stabilita nel GetType metodo 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 . Diversamente dalla reflection, non controlla i metodi. TypeDescriptor può essere esteso dinamicamente da diversi servizi disponibili tramite il componente di Sitedestinazione. La tabella seguente illustra questi servizi.

Nome del 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 alla rappresentazione in fase di progettazione di un componente di differire dalla relativa rappresentazione di runtime effettiva, 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 alle informazioni e si dispone di un'istanza dell'oggetto , usare il metodo che chiama per 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 per TypeDescriptor velocità. In genere, sono costanti per la durata di un oggetto. Tuttavia, i provider di estensioni e le finestre di progettazione possono modificare il set di proprietà in un oggetto. Se si tratta del caso, il Refresh metodo deve essere chiamato per aggiornare la cache.

Proprietà

ComNativeDescriptorHandler
Obsoleti.
Obsoleti.
Obsoleti.
Obsoleti.

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

ComObjectType

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

InterfaceType

Ottiene un tipo che rappresenta un provider di descrizioni di tipo 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 editor per il tipo di base dell'editor indicato.

AddProvider(TypeDescriptionProvider, Object)

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

AddProvider(TypeDescriptionProvider, Type)

Aggiunge un provider di descrizioni di tipo per una classe Component.

AddProviderTransparent(TypeDescriptionProvider, Object)

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

AddProviderTransparent(TypeDescriptionProvider, Type)

Aggiunge un provider di descrizioni di tipo per una classe Component.

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 del tipo di finestra di progettazione specificato.

CreateEvent(Type, EventDescriptor, Attribute[])

Crea un nuovo descrittore di eventi che è identico a un descrittore esistente, quando viene passato l'oggetto esistente EventDescriptor.

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

Crea un nuovo descrittore di eventi identico a un descrittore di eventi esistente generando dinamicamente le informazioni sul descrittore da un evento specificato su 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 specificati.

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

Crea e associa dinamicamente un descrittore di proprietà a un tipo, usando il nome della proprietà, 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 booleano 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 usando il descrittore di tipo predefinito.

GetClassName(Object, Boolean)

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

GetClassName(Type)

Restituisce il nome della classe per il tipo specificato.

GetComponentName(Object)

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

GetComponentName(Object, Boolean)

Restituisce il nome del componente specificato usando 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.

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 specificato di componente.

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 base specificato e con un descrittore di tipi 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 usando una matrice di attributi specificata come filtro.

GetEvents(Object, Attribute[], Boolean)

Restituisce la raccolta di eventi per un componente specificato usando come filtro una matrice di attributi specificata e usando un descrittore di tipi 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 usando come filtro una matrice di attributi specificata.

GetFullComponentName(Object)

Restituisce il nome completo del componente.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetProperties(Object)

Restituisce la raccolta di proprietà per un componente specificato.

GetProperties(Object, Attribute[])

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

GetProperties(Object, Attribute[], Boolean)

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

GetProperties(Object, Boolean)

Restituisce la raccolta di proprietà per un determinato componente usando il descrittore di tipo predefinito.

GetProperties(Type)

Restituisce la raccolta di proprietà per un tipo di componente specificato.

GetProperties(Type, Attribute[])

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

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 oggetto Type che può essere usato per effettuare la reflection secondo un oggetto.

GetReflectionType(Type)

Restituisce un oggetto Type che può essere usato per effettuare la reflection, specificato un tipo di classe.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Refresh(Assembly)

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

Refresh(Module)

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

Refresh(Object)

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

Refresh(Type)

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

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 del descrittore di tipo aggiunto in precedenza, associato all'oggetto specificato.

RemoveProvider(TypeDescriptionProvider, Type)

Rimuove un provider di descrizioni di tipo aggiunto in precedenza, associato al tipo specificato.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

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

RemoveProviderTransparent(TypeDescriptionProvider, Type)

Rimuove un provider di descrizioni di 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 viene svuotata la cache di un componente.

Si applica a

Vedi anche