Exportar (0) Imprimir
Expandir todo

TypeDescriptor (Clase)

Actualización: noviembre 2007

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

Espacio de nombres:  System.ComponentModel
Ensamblado:  System (en System.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
public sealed class TypeDescriptor
/** @attribute HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true) */
public final class TypeDescriptor
public final class TypeDescriptor

7z7xccyw.alert_note(es-es,VS.90).gifNota:

El atributo HostProtectionAttribute aplicado a este tipo o miembro tiene el siguiente valor de la propiedad Resources: SharedState. El atributo HostProtectionAttribute no afecta a las aplicaciones de escritorio (que normalmente se inician haciendo doble clic en un icono, escribiendo un comando o introduciendo una dirección URL en el explorador). Para obtener más información, vea la clase HostProtectionAttribute o Programación de SQL Server y atributos de protección del host.

.NET Framework proporciona dos maneras de obtener acceso a los metadatos de un tipo: la reflexión API que proporciona 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 raíz Object. La información que devuelve para un tipo no se puede extender, puesto 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 contraste, la clase TypeDescriptor es un mecanismo de inspección extensible para los componentes: aquellas clases que implementan la interfaz IComponent. A diferencia de la reflexión, no inspecciona los métodos. TypeDescriptor se puede extender dinámicamente mediante diversos servicios que están disponibles a través de la propiedad Site del componente de destino. En la siguiente tabla 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 que expone un componente.

ICustomTypeDescriptor

Habilita a una clase para que especifique completa y dinámicamente sus propios metadatos, reemplazando el mecanismo de inspección estándar de TypeDescriptor.

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

Todos los métodos de TypeDescriptor son static. Esta clase no se puede heredar, ni se pueden crear instancias de ella.

Los valores de los eventos y propiedades se pueden establecer de dos maneras: especificándolos en la clase de componente o cambiándolos en tiempo de diseño. Puesto que estos valores se pueden establecer 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 obtener acceso a la información sobre TypeDescriptor y dispone de una instancia del objeto, utilice el método que llame a un componente. Utilice el método que llama al tipo de clase sólo cuando no disponga de ninguna instancia del objeto.

TypeDescriptor almacena en caché las propiedades y los eventos para aumentar la velocidad. Normalmente, son constantes durante la vida útil de un objeto. Sin embargo, los proveedores y diseñadores extensores pueden cambiar el conjunto de propiedades de un objeto. En este caso, se debe llamar al método Refresh para actualizar la caché.

System.Object
  System.ComponentModel.TypeDescriptor

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft