TypeDescriptor Classe

Definizione

Offre informazioni sulle caratteristiche di un componente, ad esempio gli attributi, le proprietà e gli eventi.Provides information about the characteristics for a component, such as its attributes, properties, and events. Questa classe non può essere ereditata.This class cannot be inherited.

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

Commenti

Il .NET Framework fornisce due modi per accedere ai metadati in un tipo: l'API di reflection fornita nello spazio dei nomi System.Reflection e la classe TypeDescriptor.The .NET Framework provides two ways to access metadata on a type: the reflection API provided in the System.Reflection namespace, and the TypeDescriptor class. La reflection è un meccanismo generale disponibile per tutti i tipi, perché la relativa base viene stabilita nel metodo GetType della classe Object radice.Reflection is a general mechanism available to all types because its foundation is established in the GetType method of the root Object class. Le informazioni restituite per un tipo non sono estendibili, in quanto non possono essere modificate dopo la compilazione del tipo di destinazione.The information it returns for a type is not extensible, in that it cannot be modified after compilation of the target type. Per ulteriori informazioni, vedere gli argomenti in Reflection.For more information, see the topics in Reflection.

Al contrario, TypeDescriptor è un meccanismo di ispezione estensibile per i componenti di: le classi che implementano l'interfaccia di IComponent.In contrast, TypeDescriptor is an extensible inspection mechanism for components: those classes that implement the IComponent interface. A differenza della reflection, non controlla la presenza di metodi.Unlike reflection, it does not inspect for methods. TypeDescriptor possono essere estese dinamicamente da diversi servizi disponibili tramite la Sitedel componente di destinazione.TypeDescriptor can be dynamically extended by several services available through the target component's Site. La tabella seguente mostra questi servizi.The following table shows these services.

Nome del servizioService name DescriptionDescription
IExtenderProvider Consente a un'altra classe, ad esempio ToolTip, di fornire proprietà aggiuntive a un componente.Enables another class, such as ToolTip, to provide extra properties to a component.
ITypeDescriptorFilterService Consente a un altro oggetto di modificare i metadati standard esposti da un componente.Enables another object to modify the standard metadata that is exposed by a component.
ICustomTypeDescriptor Consente a una classe di specificare in modo completo e dinamico i propri metadati, sostituendo il meccanismo di ispezione standard del TypeDescriptor.Enables a class to completely and dynamically specify its own metadata, replacing the standard inspection mechanism of TypeDescriptor.

L'estendibilità fornita da TypeDescriptor consente alla rappresentazione della fase di progettazione di un componente di differire dalla rappresentazione effettiva della fase di esecuzione, rendendo TypeDescriptor utile per la compilazione di un'infrastruttura in fase di progettazione.The extensibility provided by TypeDescriptor allows the design-time representation of a component to differ from its actual run-time representation, which makes TypeDescriptor useful for building design-time infrastructure.

Tutti i metodi in TypeDescriptor static.All the methods in TypeDescriptor are static. Non è possibile creare un'istanza di questa classe e questa classe non può essere ereditata.You cannot create an instance of this class, and this class cannot be inherited.

È possibile impostare i valori di proprietà ed evento in due modi diversi: specificarli nella classe Component o modificarli in fase di progettazione.You can set property and event values two different ways: specify them in the component class or change them at design time. 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.Because you can set these values two ways, the overloaded methods of TypeDescriptor take two different types of parameters: a class type or an object instance.

Quando si desidera accedere alle informazioni TypeDescriptor e si dispone di un'istanza dell'oggetto, utilizzare il metodo che chiama per un componente.When you want to access TypeDescriptor information and you have an instance of the object, use the method that calls for a component. Usare il metodo che chiama per il tipo di classe solo quando non si dispone di un'istanza dell'oggetto.Use the method that calls for the class type only when you do not have an instance of the object.

Le proprietà e gli eventi vengono memorizzati nella cache TypeDescriptor per la velocità.Properties and events are cached by TypeDescriptor for speed. In genere, sono costanti per la durata di un oggetto.Typically, they are constant for the lifetime of an object. Tuttavia, i provider e i progettisti Extender possono modificare il set di proprietà in un oggetto.However, extender providers and designers can change the set of properties on an object. In tal caso, è necessario chiamare il metodo Refresh per aggiornare la cache.If this is the case, then the Refresh method must be called to update the cache.

Proprietà

ComNativeDescriptorHandler

Ottiene o imposta il provider di informazioni sul tipo COM (Component Object Model) per il componente di destinazione.Gets or sets the provider for the Component Object Model (COM) type information for the target component.

ComObjectType

Ottiene il tipo di oggetto COM (Component Object Model) rappresentato dal componente di destinazione.Gets the type of the Component Object Model (COM) object represented by the target component.

InterfaceType

Ottiene un tipo che rappresenta un provider di descrizione del tipo per tutti i tipi di interfaccia.Gets a type that represents a type description provider for all interface types.

Metodi

AddAttributes(Object, Attribute[])

Aggiunge attributi a livello di classe all'istanza del componente di destinazione.Adds class-level attributes to the target component instance.

AddAttributes(Type, Attribute[])

Aggiunge attributi a livello di classe al tipo del componente di destinazione.Adds class-level attributes to the target component type.

AddEditorTable(Type, Hashtable)

Aggiunge una tabella editor per il tipo di base dell'editor indicato.Adds an editor table for the given editor base type.

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.

AddProviderTransparent(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.

AddProviderTransparent(TypeDescriptionProvider, Type)

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

CreateAssociation(Object, Object)

Crea un'associazione primaria/secondaria tra due oggetti.Creates a primary-secondary association between two objects.

CreateDesigner(IComponent, Type)

Crea un'istanza della finestra di progettazione associata al componente specificato e del tipo di finestra di progettazione specificato.Creates an instance of the designer associated with the specified component and of the specified type of designer.

CreateEvent(Type, EventDescriptor, Attribute[])

Crea un nuovo descrittore di eventi che è identico a un descrittore esistente, quando viene passato l'oggetto esistente EventDescriptor.Creates a new event descriptor that is identical to an existing event descriptor, when passed the existing 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.Creates a new event descriptor that is identical to an existing event descriptor by dynamically generating descriptor information from a specified event on a type.

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

Crea un oggetto che può sostituire un altro tipo di dati.Creates an object that can substitute for another data type.

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.Creates a new property descriptor from an existing property descriptor, using the specified existing PropertyDescriptor and attribute array.

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.Creates and dynamically binds a property descriptor to a type, using the specified property name, type, and attribute array.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetAssociation(Type, Object)

Restituisce un'istanza del tipo associato all'oggetto primario specificato.Returns an instance of the type associated with the specified primary object.

GetAttributes(Object)

Restituisce l'insieme di attributi per il componente specificato.Returns the collection of attributes for the specified component.

GetAttributes(Object, Boolean)

Restituisce un insieme di attributi per il componente specificato e un valore booleano che indica che è stato creato un descrittore di tipi personalizzato.Returns a collection of attributes for the specified component and a Boolean indicating that a custom type descriptor has been created.

GetAttributes(Type)

Restituisce un insieme di attributi per il tipo di componente specificato.Returns a collection of attributes for the specified type of component.

GetClassName(Object)

Restituisce il nome della classe per il componente specificato utilizzando il descrittore di tipi predefinito.Returns the name of the class for the specified component using the default type descriptor.

GetClassName(Object, Boolean)

Restituisce il nome della classe per il componente specificato utilizzando un descrittore di tipi personalizzato.Returns the name of the class for the specified component using a custom type descriptor.

GetClassName(Type)

Restituisce il nome della classe per il tipo specificato.Returns the name of the class for the specified type.

GetComponentName(Object)

Restituisce il nome del componente specificato utilizzando il descrittore di tipi predefinito.Returns the name of the specified component using the default type descriptor.

GetComponentName(Object, Boolean)

Restituisce il nome del componente specificato utilizzando un descrittore di tipi personalizzato.Returns the name of the specified component using a custom type descriptor.

GetConverter(Object)

Restituisce un convertitore di tipi per il tipo del componente specificato.Returns a type converter for the type of the specified component.

GetConverter(Object, Boolean)

Restituisce un convertitore di tipi per il tipo del componente specificato con un descrittore di tipi personalizzato.Returns a type converter for the type of the specified component with a custom type descriptor.

GetConverter(Type)

Restituisce un convertitore di tipi per il tipo specificato.Returns a type converter for the specified type.

GetDefaultEvent(Object)

Restituisce l'evento predefinito per il componente specificato.Returns the default event for the specified component.

GetDefaultEvent(Object, Boolean)

Restituisce l'evento predefinito per un componente con un descrittore di tipi personalizzato.Returns the default event for a component with a custom type descriptor.

GetDefaultEvent(Type)

Restituisce l'evento predefinito per il tipo specificato di componente.Returns the default event for the specified type of component.

GetDefaultProperty(Object)

Restituisce la proprietà predefinita per il componente specificato.Returns the default property for the specified component.

GetDefaultProperty(Object, Boolean)

Restituisce la proprietà predefinita per il componente specificato con un descrittore di tipi personalizzato.Returns the default property for the specified component with a custom type descriptor.

GetDefaultProperty(Type)

Restituisce la proprietà predefinita per il tipo specificato di componente.Returns the default property for the specified type of component.

GetEditor(Object, Type)

Ottiene un editor con il tipo base specificato per il componente specificato.Gets an editor with the specified base type for the specified component.

GetEditor(Object, Type, Boolean)

Restituisce un editor con il tipo base specificato e con un descrittore di tipi personalizzato per il componente specificato.Returns an editor with the specified base type and with a custom type descriptor for the specified component.

GetEditor(Type, Type)

Restituisce un editor con il tipo base specificato per il tipo specificato.Returns an editor with the specified base type for the specified type.

GetEvents(Object)

Restituisce l'insieme degli eventi per il componente specificato.Returns the collection of events for the specified component.

GetEvents(Object, Attribute[])

Restituisce l'insieme di eventi per un componente specificato utilizzando come filtro una matrice di attributi specificata.Returns the collection of events for a specified component using a specified array of attributes as a filter.

GetEvents(Object, Attribute[], Boolean)

Restituisce l'insieme di eventi per un componente specificato utilizzando come filtro una matrice di attributi specificata e un descrittore di tipi personalizzato.Returns the collection of events for a specified component using a specified array of attributes as a filter and using a custom type descriptor.

GetEvents(Object, Boolean)

Restituisce l'insieme di eventi per un componente specificato con un descrittore di tipi personalizzato.Returns the collection of events for a specified component with a custom type descriptor.

GetEvents(Type)

Restituisce l'insieme di eventi per un tipo specificato di componente.Returns the collection of events for a specified type of component.

GetEvents(Type, Attribute[])

Restituisce l'insieme di eventi per un tipo specificato di componente utilizzando come filtro una matrice di attributi specificata.Returns the collection of events for a specified type of component using a specified array of attributes as a filter.

GetFullComponentName(Object)

Restituisce il nome completo del componente.Returns the fully qualified name of the component.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetProperties(Object)

Restituisce l'insieme di proprietà per un componente specificato.Returns the collection of properties for a specified component.

GetProperties(Object, Attribute[])

Restituisce l'insieme di proprietà per un componente specificato utilizzando come filtro una matrice di attributi specificata.Returns the collection of properties for a specified component using a specified array of attributes as a filter.

GetProperties(Object, Attribute[], Boolean)

Restituisce l'insieme di proprietà per un componente specificato utilizzando come filtro una matrice di attributi specificata e un descrittore di tipi personalizzato.Returns the collection of properties for a specified component using a specified array of attributes as a filter and using a custom type descriptor.

GetProperties(Object, Boolean)

Restituisce l'insieme di proprietà per un componente specificato utilizzando il descrittore di tipi personalizzato.Returns the collection of properties for a specified component using the default type descriptor.

GetProperties(Type)

Restituisce l'insieme di proprietà per un tipo specificato di componente.Returns the collection of properties for a specified type of component.

GetProperties(Type, Attribute[])

Restituisce l'insieme di proprietà per un tipo specificato di componente utilizzando come filtro una matrice di attributi specificata.Returns the collection of properties for a specified type of component using a specified array of attributes as a filter.

GetProvider(Object)

Restituisce il provider della descrizione del tipo per il componente specificato.Returns the type description provider for the specified component.

GetProvider(Type)

Restituisce il provider della descrizione del tipo per il tipo specificato.Returns the type description provider for the specified type.

GetReflectionType(Object)

Restituisce un oggetto Type che può essere utilizzato per effettuare la reflection, dato un oggetto.Returns a Type that can be used to perform reflection, given an object.

GetReflectionType(Type)

Restituisce un oggetto Type che può essere utilizzato per effettuare la reflection, dato un tipo di classe.Returns a Type that can be used to perform reflection, given a class type.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
Refresh(Assembly)

Elimina dalla cache le proprietà e gli eventi per l'assembly specificato.Clears the properties and events for the specified assembly from the cache.

Refresh(Module)

Elimina dalla cache le proprietà e gli eventi per il modulo specificato.Clears the properties and events for the specified module from the cache.

Refresh(Object)

Elimina dalla cache le proprietà e gli eventi per componente specificato.Clears the properties and events for the specified component from the cache.

Refresh(Type)

Elimina dalla cache le proprietà e gli eventi per il tipo specificato di componente.Clears the properties and events for the specified type of component from the cache.

RemoveAssociation(Object, Object)

Rimuove un'associazione tra due oggetti.Removes an association between two objects.

RemoveAssociations(Object)

Rimuove tutte le associazioni per un oggetto primario.Removes all associations for a primary object.

RemoveProvider(TypeDescriptionProvider, Object)

Rimuove un provider del descrittore di tipo aggiunto in precedenza, associato all'oggetto specificato.Removes a previously added type description provider that is associated with the specified object.

RemoveProvider(TypeDescriptionProvider, Type)

Rimuove un provider di descrizioni di tipo aggiunto in precedenza, associato al tipo specificato.Removes a previously added type description provider that is associated with the specified type.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

Rimuove un provider del descrittore di tipo aggiunto in precedenza, associato all'oggetto specificato.Removes a previously added type description provider that is associated with the specified object.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

Rimuove un provider di descrizioni di tipo aggiunto in precedenza, associato al tipo specificato.Removes a previously added type description provider that is associated with the specified type.

SortDescriptorArray(IList)

Ordina i descrittori utilizzando il nome del descrittore.Sorts descriptors using the name of the descriptor.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Eventi

Refreshed

Si verifica quando viene svuotata la cache di un componente.Occurs when the cache for a component is cleared.

Si applica a

Vedi anche