TypeDescriptor Clase

Definición

Proporciona información sobre las características de un componente, como sus atributos, propiedades y eventos. Esta clase no puede heredarse.

public ref class TypeDescriptor sealed
public sealed class TypeDescriptor
type TypeDescriptor = class
Public NotInheritable Class TypeDescriptor
Herencia
TypeDescriptor

Comentarios

.NET Framework proporciona dos maneras de acceder a los metadatos en un tipo: la API de reflexión proporcionada en el System.Reflection espacio de nombres y la TypeDescriptor clase . La reflexión es un mecanismo general disponible para todos los tipos porque su base se establece en el GetType método de la clase raíz Object . La información que devuelve para un tipo no es extensible, en que no se puede modificar después de la compilación del tipo de destino. Para obtener más información, vea los temas de Reflexión.

En cambio, TypeDescriptor es un mecanismo de inspección extensible para los componentes: esas clases que implementan la IComponent interfaz. A diferencia de la reflexión, no inspecciona los métodos. TypeDescriptor puede ampliarse dinámicamente por varios servicios disponibles a través del componente de Sitedestino. En la tabla siguiente se muestran estos servicios.

Nombre del servicio Descripción
IExtenderProvider Habilita otra clase, como ToolTip, para proporcionar propiedades adicionales a un componente.
ITypeDescriptorFilterService Permite que otro objeto modifique los metadatos estándar expuestos por un componente.
ICustomTypeDescriptor Permite a una clase especificar completamente y dinámicamente sus propios metadatos, reemplazando el mecanismo de inspección estándar de TypeDescriptor.

La extensibilidad proporcionada por TypeDescriptor permite que la representación en tiempo de diseño de un componente sea diferente de su representación en tiempo de ejecución real, lo que resulta TypeDescriptor útil para crear la infraestructura en tiempo de diseño.

Todos los métodos de TypeDescriptor son static. No se puede crear una instancia de esta clase y esta clase no se puede heredar.

Puede establecer valores de propiedad y evento de dos maneras diferentes: especificarlos en la clase de componente o cambiarlos en tiempo de diseño. Dado que puede establecer estos valores de dos maneras, los métodos sobrecargados de TypeDescriptor toman dos tipos diferentes de parámetros: un tipo de clase o una instancia de objeto.

Cuando desee acceder TypeDescriptor a la información y tiene una instancia del objeto, use el método que llama a para un componente. Use el método que llama al tipo de clase solo cuando no tenga una instancia del objeto .

Las propiedades y los eventos se almacenan en caché para TypeDescriptor la velocidad. Normalmente, son constantes durante la vigencia de un objeto. Sin embargo, los proveedores y diseñadores extensores pueden cambiar el conjunto de propiedades en un objeto . Si este es el caso, Refresh se debe llamar al método para actualizar la memoria caché.

Propiedades

ComNativeDescriptorHandler
Obsoletos.
Obsoletos.
Obsoletos.
Obsoletos.

Obtiene o establece el proveedor de la información de tipo de Modelo de objetos componentes (COM) del componente de destino.

ComObjectType

Obtiene el tipo del objeto del Modelo de objetos componentes (COM) representado por el componente de destino.

InterfaceType

Obtiene un tipo que representa un proveedor de descripción de tipos para todos los tipos de interfaz.

Métodos

AddAttributes(Object, Attribute[])

Agrega atributos de nivel de clase para la instancia del componente de destino.

AddAttributes(Type, Attribute[])

Agrega atributos de nivel de clase para el tipo de componente de destino.

AddEditorTable(Type, Hashtable)

Agrega una tabla de editor para el tipo base del editor determinado.

AddProvider(TypeDescriptionProvider, Object)

Agrega un proveedor de descripción de tipos para una sola instancia de un componente.

AddProvider(TypeDescriptionProvider, Type)

Agrega un proveedor de descripción de tipos para una clase de componente.

AddProviderTransparent(TypeDescriptionProvider, Object)

Agrega un proveedor de descripción de tipos para una sola instancia de un componente.

AddProviderTransparent(TypeDescriptionProvider, Type)

Agrega un proveedor de descripción de tipos para una clase de componente.

CreateAssociation(Object, Object)

Crea una asociación principal-secundario entre dos objetos.

CreateDesigner(IComponent, Type)

Crea una instancia del diseñador asociada al componente especificado y del tipo especificado del diseñador.

CreateEvent(Type, EventDescriptor, Attribute[])

Crea un descriptor de eventos nuevo que es idéntico a otro existente, cuando se pasa al EventDescriptor existente.

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.

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

Crea un objeto que puede sustituir a otro tipo de datos.

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.

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.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetAssociation(Type, Object)

Devuelve una instancia del tipo asociado al objeto principal especificado.

GetAttributes(Object)

Devuelve la colección de atributos para el componente especificado.

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.

GetAttributes(Type)

Devuelve una colección de atributos para el tipo de componente especificado.

GetClassName(Object)

Devuelve el nombre de la clase para el componente especificado usando el descriptor de tipo predeterminado.

GetClassName(Object, Boolean)

Devuelve el nombre de la clase especifica usando el descriptor de tipo personalizado.

GetClassName(Type)

Devuelve el nombre de la clase del tipo especificado.

GetComponentName(Object)

Devuelve el nombre del componente especificado usando el descriptor de tipo predeterminado.

GetComponentName(Object, Boolean)

Devuelve el nombre del componente especificado usando el descriptor de tipo personalizado.

GetConverter(Object)

Devuelve un convertidor de tipos para el tipo del componente especificado.

GetConverter(Object, Boolean)

Devuelve un convertidor de tipos para el tipo del componente especificado con un descriptor de tipos personalizado.

GetConverter(Type)

Devuelve un convertidor de tipos para el tipo especificado.

GetDefaultEvent(Object)

Devuelve el evento predeterminado para el componente especificado.

GetDefaultEvent(Object, Boolean)

Devuelve el evento predeterminado para un componente con un descriptor de tipos personalizado.

GetDefaultEvent(Type)

Devuelve el evento predeterminado para el tipo de componente especificado.

GetDefaultProperty(Object)

Devuelve la propiedad predeterminada para el componente especificado.

GetDefaultProperty(Object, Boolean)

Devuelve la propiedad predeterminada para el componente especificado con un descriptor de tipos personalizado.

GetDefaultProperty(Type)

Devuelve la propiedad predeterminada para el tipo de componente especificado.

GetEditor(Object, Type)

Obtiene un editor con el tipo base especificado para el componente especificado.

GetEditor(Object, Type, Boolean)

Devuelve un editor con el tipo base especificado y con un descriptor de tipos personalizado para el componente especificado.

GetEditor(Type, Type)

Devuelve un editor con el tipo base especificado para el tipo especificado.

GetEvents(Object)

Devuelve la colección de eventos para el componente especificado.

GetEvents(Object, Attribute[])

Devuelve la colección de eventos de un componente especificado usando una matriz de atributos especificada como filtro.

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.

GetEvents(Object, Boolean)

Devuelve la colección de eventos para un componente especificado con un descriptor de tipos personalizado.

GetEvents(Type)

Devuelve la colección de eventos para un tipo de componente especificado.

GetEvents(Type, Attribute[])

Devuelve la colección de eventos de un tipo de componente especificado usando una matriz de atributos especificada como filtro.

GetFullComponentName(Object)

Devuelve el nombre completo del componente.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetProperties(Object)

Devuelve la colección de propiedades para un componente especificado.

GetProperties(Object, Attribute[])

Devuelve la colección de propiedades de un componente especificado usando como filtro una matriz de atributos especificada.

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.

GetProperties(Object, Boolean)

Devuelve la colección de propiedades de un componente especificado usando el descriptor de tipo predeterminado.

GetProperties(Type)

Devuelve la colección de propiedades para un tipo de componente especificado.

GetProperties(Type, Attribute[])

Devuelve la colección de propiedades de un tipo de componente especificado usando como filtro una matriz de atributos especificada.

GetProvider(Object)

Devuelve el proveedor de descripciones de tipos para el componente especificado.

GetProvider(Type)

Devuelve el proveedor de descripciones de tipos para el tipo especificado.

GetReflectionType(Object)

Devuelve un Type que se puede usar para realizar la reflexión, dado un objeto.

GetReflectionType(Type)

Devuelve un Type que se puede usar para realizar la reflexión, dado un tipo de clase.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Refresh(Assembly)

Borra las propiedades y eventos para el ensamblado especificado de la memoria caché.

Refresh(Module)

Borra las propiedades y eventos para el módulo especificado de la memoria caché.

Refresh(Object)

Borra las propiedades y eventos para el componente especificado de la memoria caché.

Refresh(Type)

Borra las propiedades y los eventos para el tipo especificado de la memoria caché.

RemoveAssociation(Object, Object)

Quita una asociación entre dos objetos.

RemoveAssociations(Object)

Quita todas las asociaciones de un objeto principal.

RemoveProvider(TypeDescriptionProvider, Object)

Quita un proveedor de descripción de tipos agregado previamente que está asociado al objeto especificado.

RemoveProvider(TypeDescriptionProvider, Type)

Quita un proveedor de descripción de tipos agregado previamente que está asociado al tipo especificado.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

Quita un proveedor de descripción de tipos agregado previamente que está asociado al objeto especificado.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

Quita un proveedor de descripción de tipos agregado previamente que está asociado al tipo especificado.

SortDescriptorArray(IList)

Ordena los descriptores usando el nombre del descriptor.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

Refreshed

Se produce cuando se borra la memoria caché para un componente.

Se aplica a

Consulte también