Comparteix a través de


TypeDescriptor Clase

Definición

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

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 espacio de nombres System.Reflection y la clase TypeDescriptor. La reflexión es un mecanismo general disponible para todos los tipos porque su base se establece en el método GetType de la clase de Object raíz. 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 Reflection.

En cambio, TypeDescriptor es un mecanismo de inspección extensible para componentes: esas clases que implementan la interfaz IComponent. A diferencia de la reflexión, no inspecciona los métodos. TypeDescriptor puede ampliar dinámicamente varios servicios disponibles a través de la Sitedel componente de destino. 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 que una clase especifique 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 hace que TypeDescriptor sea útil para crear 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.

Si desea acceder a TypeDescriptor 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é TypeDescriptor para 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, se debe llamar al método Refresh para actualizar la memoria caché.

Propiedades

ComNativeDescriptorHandler
Obsoletos.
Obsoletos.
Obsoletos.
Obsoletos.

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

ComObjectType

Obtiene el tipo del objeto Component Object Model (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 a la instancia del componente de destino.

AddAttributes(Type, Attribute[])

Agrega atributos de nivel de clase al tipo de componente de destino.

AddEditorTable(Type, Hashtable)

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

AddProvider(TypeDescriptionProvider, Object)

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

AddProvider(TypeDescriptionProvider, Type)

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

AddProviderTransparent(TypeDescriptionProvider, Object)

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

AddProviderTransparent(TypeDescriptionProvider, Type)

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

CreateAssociation(Object, Object)

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

CreateDesigner(IComponent, Type)

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

CreateEvent(Type, EventDescriptor, Attribute[])

Crea un nuevo descriptor de eventos que es idéntico a un descriptor de eventos existente, cuando se pasa el EventDescriptorexistente.

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

Crea un nuevo descriptor de eventos que es idéntico a un descriptor de eventos existente mediante la generación dinámica de información de descriptor a partir de un evento especificado en un tipo.

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

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

CreateProperty(Type, PropertyDescriptor, Attribute[])

Crea un nuevo descriptor de propiedad a partir de un descriptor de propiedad existente, utilizando el PropertyDescriptor y la matriz de atributos existentes especificados.

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

Crea y enlaza dinámicamente un descriptor de propiedad a un tipo mediante el nombre de propiedad, el tipo y la matriz de atributos especificados.

Equals(Object)

Determina si el objeto especificado es igual al 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 tipo 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 mediante el descriptor de tipo predeterminado.

GetClassName(Object, Boolean)

Devuelve el nombre de la clase para el componente especificado mediante un descriptor de tipo personalizado.

GetClassName(Type)

Devuelve el nombre de la clase para el tipo especificado.

GetComponentName(Object)

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

GetComponentName(Object, Boolean)

Devuelve el nombre del componente especificado mediante un 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 tipo personalizado.

GetConverter(Type)

Devuelve un convertidor de tipos para el tipo especificado.

GetConverterFromRegisteredType(Object)

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

GetConverterFromRegisteredType(Type)

Obtiene un convertidor de tipos para el tipo registrado especificado.

GetDefaultEvent(Object)

Devuelve el evento predeterminado para el componente especificado.

GetDefaultEvent(Object, Boolean)

Devuelve el evento predeterminado de un componente con un descriptor de tipo personalizado.

GetDefaultEvent(Type)

Devuelve el evento predeterminado para el tipo de componente especificado.

GetDefaultProperty(Object)

Devuelve la propiedad predeterminada del componente especificado.

GetDefaultProperty(Object, Boolean)

Devuelve la propiedad predeterminada del componente especificado con un descriptor de tipo 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 tipo 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 mediante una matriz especificada de atributos como filtro.

GetEvents(Object, Attribute[], Boolean)

Devuelve la colección de eventos de un componente especificado mediante una matriz especificada de atributos como filtro y mediante un descriptor de tipo personalizado.

GetEvents(Object, Boolean)

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

GetEvents(Type)

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

GetEvents(Type, Attribute[])

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

GetEventsFromRegisteredType(Type)

Obtiene una colección de eventos para un tipo de componente especificado.

GetFullComponentName(Object)

Devuelve el nombre completo del componente.

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetProperties(Object)

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

GetProperties(Object, Attribute[])

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

GetProperties(Object, Attribute[], Boolean)

Devuelve la colección de propiedades de un componente especificado mediante una matriz especificada de atributos como filtro y mediante un descriptor de tipo personalizado.

GetProperties(Object, Boolean)

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

GetProperties(Type)

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

GetProperties(Type, Attribute[])

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

GetPropertiesFromRegisteredType(Object)

Obtiene una colección de propiedades para un componente especificado.

GetPropertiesFromRegisteredType(Type)

Obtiene una colección de propiedades para un tipo especificado.

GetProvider(Object)

Devuelve el proveedor de descripción de tipo para el componente especificado.

GetProvider(Type)

Devuelve el proveedor de descripción de tipo 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 Objectactual.

(Heredado de Object)
Refresh(Assembly)

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

Refresh(Module)

Borra las propiedades y los eventos del módulo especificado de la memoria caché.

Refresh(Object)

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

Refresh(Type)

Borra las propiedades y eventos del tipo de componente especificado de la memoria caché.

RegisterType<T>()

Registra el tipo para que los proveedores basados en reflexión puedan usarlo en aplicaciones recortadas.

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 anteriormente asociado al objeto especificado.

RemoveProvider(TypeDescriptionProvider, Type)

Quita un proveedor de descripción de tipos agregado anteriormente asociado al tipo especificado.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

Quita un proveedor de descripción de tipos agregado anteriormente asociado al objeto especificado.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

Quita un proveedor de descripción de tipos agregado anteriormente asociado al tipo especificado.

SortDescriptorArray(IList)

Ordena los descriptores con 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é de un componente.

Se aplica a

Consulte también