TypeDescriptor Class

Definición

Proporciona información sobre las características de un componente, como sus atributos, propiedades y eventos. Provides information about the characteristics for a component, such as its attributes, properties, and events. Esta clase no puede heredarse. This class cannot be inherited.

public sealed class TypeDescriptor
Herencia
TypeDescriptor

Comentarios

.NET Framework proporciona dos maneras de acceder a los metadatos de un tipo: la reflexión proporciona API en el System.Reflection espacio de nombres y el TypeDescriptor clase.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. Reflexión es un mecanismo general disponible para todos los tipos porque su base se establece en el GetType método de la raíz Object clase.Reflection is a general mechanism available to all types because its foundation is established in the GetType method of the root Object class. La información que se devuelve para un tipo no es extensible, en que no se puede modificar después de la compilación del tipo de destino.The information it returns for a type is not extensible, in that it cannot be modified after compilation of the target type. Para obtener más información, vea los temas de reflexión.For more information, see the topics in Reflection.

En cambio, TypeDescriptor es un mecanismo de inspección extensible para componentes: las clases que implementan la IComponent interfaz.In contrast, TypeDescriptor is an extensible inspection mechanism for components: those classes that implement the IComponent interface. A diferencia de la reflexión, no inspecciona los métodos.Unlike reflection, it does not inspect for methods. TypeDescriptor se puede ampliar dinámicamente mediante varios servicios disponibles a través del componente de destino Site.TypeDescriptor can be dynamically extended by several services available through the target component's Site. En la tabla siguiente se muestra estos servicios.The following table shows these services.

Nombre del servicioService name DescripciónDescription
IExtenderProvider Habilita otra clase, como ToolTip, para proporcionar propiedades adicionales a un componente.Enables another class, such as ToolTip, to provide extra properties to a component.
ITypeDescriptorFilterService Permite que otro objeto modificar los metadatos estándar que se exponen mediante un componente.Enables another object to modify the standard metadata that is exposed by a component.
ICustomTypeDescriptor Permite que una clase dinámicamente y completamente especificar sus propios metadatos, reemplazando el mecanismo estándar de inspección de TypeDescriptor.Enables a class to completely and dynamically specify its own metadata, replacing the standard inspection mechanism of TypeDescriptor.

La extensibilidad proporcionadas por TypeDescriptor permite la representación en tiempo de diseño de un componente difiera de su representación de tiempo de ejecución real, lo que hace que TypeDescriptor útil para crear la infraestructura en tiempo de diseño.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.

Todos los métodos de TypeDescriptor son static.All the methods in TypeDescriptor are static. No se puede crear una instancia de esta clase y no se puede heredar esta clase.You cannot create an instance of this class, and this class cannot be inherited.

Puede establecer la propiedad y valores de dos formas diferentes de los eventos: especificarlos en la clase de componente o cambiarlos en tiempo de diseño.You can set property and event values two different ways: specify them in the component class or change them at design time. Dado que puede establecer estos valores de dos formas, los métodos sobrecargados de TypeDescriptor realizar dos tipos diferentes de parámetros: un tipo de clase o una instancia de objeto.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.

Si desea tener acceso a TypeDescriptor información y tiene una instancia del objeto, utilice el método que llama a 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. Utilice el método que llama al tipo de clase sólo cuando no tiene una instancia del objeto.Use the method that calls for the class type only when you do not have an instance of the object.

Propiedades y eventos se almacenan en caché por TypeDescriptor para acelerar el proceso.Properties and events are cached by TypeDescriptor for speed. Normalmente, son constantes durante la vigencia de un objeto.Typically, they are constant for the lifetime of an object. Sin embargo, los diseñadores y los proveedores extensores pueden cambiar el conjunto de propiedades en un objeto.However, extender providers and designers can change the set of properties on an object. Si es así, el Refresh método debe llamarse para actualizar la memoria caché.If this is the case, then the Refresh method must be called to update the cache.

Propiedades

ComNativeDescriptorHandler

Obtiene o establece el proveedor de la información de tipo de Modelo de objetos componentes (COM) del componente de destino. Gets or sets the provider for the Component Object Model (COM) type information for the target component.

ComObjectType

Obtiene el tipo del objeto del Modelo de objetos componentes (COM) representado por el componente de destino. Gets the type of the Component Object Model (COM) object represented by the target component.

InterfaceType

Obtiene un tipo que representa un proveedor de descripción de tipos para todos los tipos de interfaz. Gets a type that represents a type description provider for all interface types.

Métodos

AddAttributes(Object, Attribute[])

Agrega atributos de nivel de clase para la instancia del componente de destino. Adds class-level attributes to the target component instance.

AddAttributes(Type, Attribute[])

Agrega atributos de nivel de clase para el tipo de componente de destino. Adds class-level attributes to the target component type.

AddEditorTable(Type, Hashtable)

Agrega una tabla de editor para el tipo base del editor determinado. Adds an editor table for the given editor base type.

AddProvider(TypeDescriptionProvider, Object)

Agrega un proveedor de descripción de tipos para una sola instancia de un componente. Adds a type description provider for a single instance of a component.

AddProvider(TypeDescriptionProvider, Type)

Agrega un proveedor de descripción de tipos para una clase de componente. Adds a type description provider for a component class.

AddProviderTransparent(TypeDescriptionProvider, Object)

Agrega un proveedor de descripción de tipos para una sola instancia de un componente. Adds a type description provider for a single instance of a component.

AddProviderTransparent(TypeDescriptionProvider, Type)

Agrega un proveedor de descripción de tipos para una clase de componente. Adds a type description provider for a component class.

CreateAssociation(Object, Object)

Crea una asociación principal-secundario entre dos objetos. Creates a primary-secondary association between two objects.

CreateDesigner(IComponent, Type)

Crea una instancia del diseñador asociada al componente especificado y del tipo especificado del diseñador. Creates an instance of the designer associated with the specified component and of the specified type of designer.

CreateEvent(Type, EventDescriptor, Attribute[])

Crea un descriptor de eventos nuevo que es idéntico a otro existente, cuando se pasa al EventDescriptor existente. 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 nuevo descriptor de eventos que es idéntico a otro existente generando dinámicamente la información del descriptor desde un evento especificado en 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 objeto que puede sustituir a otro tipo de datos. Creates an object that can substitute for another data type.

CreateProperty(Type, PropertyDescriptor, Attribute[])

Crea un nuevo descriptor de propiedad a partir de un descriptor de propiedad existente, usando el PropertyDescriptor especificado existente y la matriz de atributos. Creates a new property descriptor from an existing property descriptor, using the specified existing PropertyDescriptor and attribute array.

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

Crea y enlaza de forma dinámica un descriptor de propiedad a un tipo, mediante el nombre de propiedad especificado, el tipo y la matriz de atributos. Creates and dynamically binds a property descriptor to a type, using the specified property name, type, and attribute array.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual. Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAssociation(Type, Object)

Devuelve una instancia del tipo asociado al objeto principal especificado. Returns an instance of the type associated with the specified primary object.

GetAttributes(Object)

Devuelve la colección de atributos para el componente especificado. Returns the collection of attributes for the specified component.

GetAttributes(Object, Boolean)

Devuelve una colección de atributos para el componente especificado y un valor booleano que indica que se ha creado un descriptor de tipos personalizado. Returns a collection of attributes for the specified component and a Boolean indicating that a custom type descriptor has been created.

GetAttributes(Type)

Devuelve una colección de atributos para el tipo de componente especificado. Returns a collection of attributes for the specified type of component.

GetClassName(Object)

Devuelve el nombre de la clase para el componente especificado usando el descriptor de tipo predeterminado. Returns the name of the class for the specified component using the default type descriptor.

GetClassName(Object, Boolean)

Devuelve el nombre de la clase especifica usando el descriptor de tipo personalizado. Returns the name of the class for the specified component using a custom type descriptor.

GetClassName(Type)

Devuelve el nombre de la clase del tipo especificado. Returns the name of the class for the specified type.

GetComponentName(Object)

Devuelve el nombre del componente especificado usando el descriptor de tipo predeterminado. Returns the name of the specified component using the default type descriptor.

GetComponentName(Object, Boolean)

Devuelve el nombre del componente especificado usando el descriptor de tipo personalizado. Returns the name of the specified component using a custom type descriptor.

GetConverter(Object)

Devuelve un convertidor de tipos para el tipo del componente especificado. Returns a type converter for the type of the specified component.

GetConverter(Object, Boolean)

Devuelve un convertidor de tipos para el tipo del componente especificado con un descriptor de tipos personalizado. Returns a type converter for the type of the specified component with a custom type descriptor.

GetConverter(Type)

Devuelve un convertidor de tipos para el tipo especificado. Returns a type converter for the specified type.

GetDefaultEvent(Object)

Devuelve el evento predeterminado para el componente especificado. Returns the default event for the specified component.

GetDefaultEvent(Object, Boolean)

Devuelve el evento predeterminado para un componente con un descriptor de tipos personalizado. Returns the default event for a component with a custom type descriptor.

GetDefaultEvent(Type)

Devuelve el evento predeterminado para el tipo de componente especificado. Returns the default event for the specified type of component.

GetDefaultProperty(Object)

Devuelve la propiedad predeterminada para el componente especificado. Returns the default property for the specified component.

GetDefaultProperty(Object, Boolean)

Devuelve la propiedad predeterminada para el componente especificado con un descriptor de tipos personalizado. Returns the default property for the specified component with a custom type descriptor.

GetDefaultProperty(Type)

Devuelve la propiedad predeterminada para el tipo de componente especificado. Returns the default property for the specified type of component.

GetEditor(Object, Type)

Obtiene un editor con el tipo base especificado para el componente especificado. Gets an editor with the specified base type for the specified component.

GetEditor(Object, Type, Boolean)

Devuelve un editor con el tipo base especificado y con un descriptor de tipos personalizado para el componente especificado. Returns an editor with the specified base type and with a custom type descriptor for the specified component.

GetEditor(Type, Type)

Devuelve un editor con el tipo base especificado para el tipo especificado. Returns an editor with the specified base type for the specified type.

GetEvents(Object)

Devuelve la colección de eventos para el componente especificado. Returns the collection of events for the specified component.

GetEvents(Object, Attribute[])

Devuelve la colección de eventos de un componente especificado usando una matriz de atributos especificada como filtro. Returns the collection of events for a specified component using a specified array of attributes as a filter.

GetEvents(Object, Attribute[], Boolean)

Devuelve la colección de eventos de un componente especificado usando una matriz de atributos especificada como filtro y usando un descriptor de tipo personalizado. 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)

Devuelve la colección de eventos para un componente especificado con un descriptor de tipos personalizado. Returns the collection of events for a specified component with a custom type descriptor.

GetEvents(Type)

Devuelve la colección de eventos para un tipo de componente especificado. Returns the collection of events for a specified type of component.

GetEvents(Type, Attribute[])

Devuelve la colección de eventos de un tipo de componente especificado usando una matriz de atributos especificada como filtro. Returns the collection of events for a specified type of component using a specified array of attributes as a filter.

GetFullComponentName(Object)

Devuelve el nombre completo del componente. Returns the fully qualified name of the component.

GetHashCode()

Sirve como la función hash predeterminada. Serves as the default hash function.

(Inherited from Object)
GetProperties(Object)

Devuelve la colección de propiedades para un componente especificado. Returns the collection of properties for a specified component.

GetProperties(Object, Attribute[])

Devuelve la colección de propiedades de un componente especificado usando como filtro una matriz de atributos especificada. Returns the collection of properties for a specified component using a specified array of attributes as a filter.

GetProperties(Object, Attribute[], Boolean)

Devuelve la colección de propiedades de un componente especificado usando una matriz de atributos especificada como filtro y usando un descriptor de tipo personalizado. 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)

Devuelve la colección de propiedades de un componente especificado usando el descriptor de tipo predeterminado. Returns the collection of properties for a specified component using the default type descriptor.

GetProperties(Type)

Devuelve la colección de propiedades para un tipo de componente especificado. Returns the collection of properties for a specified type of component.

GetProperties(Type, Attribute[])

Devuelve la colección de propiedades de un tipo de componente especificado usando como filtro una matriz de atributos especificada. Returns the collection of properties for a specified type of component using a specified array of attributes as a filter.

GetProvider(Object)

Devuelve el proveedor de descripciones de tipos para el componente especificado. Returns the type description provider for the specified component.

GetProvider(Type)

Devuelve el proveedor de descripciones de tipos para el tipo especificado. Returns the type description provider for the specified type.

GetReflectionType(Object)

Devuelve un objeto Type que se puede utilizar para llevar a cabo la reflexión teniendo en cuenta un objeto. Returns a Type that can be used to perform reflection, given an object.

GetReflectionType(Type)

Devuelve un objeto Type que se puede utilizar para realizar la reflexión teniendo en cuenta un tipo de clase. Returns a Type that can be used to perform reflection, given a class type.

GetType()

Obtiene el Type de la instancia actual. Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Crea una copia superficial del Object actual. Creates a shallow copy of the current Object.

(Inherited from Object)
Refresh(Assembly)

Borra las propiedades y eventos para el ensamblado especificado de la memoria caché. Clears the properties and events for the specified assembly from the cache.

Refresh(Module)

Borra las propiedades y eventos para el módulo especificado de la memoria caché. Clears the properties and events for the specified module from the cache.

Refresh(Object)

Borra las propiedades y eventos para el componente especificado de la memoria caché. Clears the properties and events for the specified component from the cache.

Refresh(Type)

Borra las propiedades y los eventos para el tipo especificado de la memoria caché. Clears the properties and events for the specified type of component from the cache.

RemoveAssociation(Object, Object)

Quita una asociación entre dos objetos. Removes an association between two objects.

RemoveAssociations(Object)

Quita todas las asociaciones de un objeto principal. Removes all associations for a primary object.

RemoveProvider(TypeDescriptionProvider, Object)

Quita un proveedor de descripción de tipos agregado previamente que está asociado al objeto especificado. Removes a previously added type description provider that is associated with the specified object.

RemoveProvider(TypeDescriptionProvider, Type)

Quita un proveedor de descripción de tipos agregado previamente que está asociado al tipo especificado. Removes a previously added type description provider that is associated with the specified type.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

Quita un proveedor de descripción de tipos agregado previamente que está asociado al objeto especificado. Removes a previously added type description provider that is associated with the specified object.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

Quita un proveedor de descripción de tipos agregado previamente que está asociado al tipo especificado. Removes a previously added type description provider that is associated with the specified type.

SortDescriptorArray(IList)

Ordena los descriptores usando el nombre del descriptor. Sorts descriptors using the name of the descriptor.

ToString()

Devuelve una cadena que representa el objeto actual. Returns a string that represents the current object.

(Inherited from Object)

Eventos

Refreshed

Se produce cuando se borra la memoria caché para un componente. Occurs when the cache for a component is cleared.

Se aplica a

Consultar también