Partilhar via


TypeDescriptor Classe

Definição

Fornece informações sobre as características de um componente, como seus atributos, propriedades e eventos. Essa classe não pode ser herdada.

public ref class TypeDescriptor sealed
public sealed class TypeDescriptor
type TypeDescriptor = class
Public NotInheritable Class TypeDescriptor
Herança
TypeDescriptor

Comentários

O .NET Framework fornece duas maneiras de acessar metadados em um tipo: a API de reflexão fornecida no namespace System.Reflection e a classe TypeDescriptor. Reflexão é um mecanismo geral disponível para todos os tipos porque sua base é estabelecida no método GetType da classe Object raiz. As informações retornadas para um tipo não são extensíveis, pois não podem ser modificadas após a compilação do tipo de destino. Para obter mais informações, consulte os tópicos no Reflection.

Por outro lado, TypeDescriptor é um mecanismo de inspeção extensível para componentes: as classes que implementam a interface IComponent. Ao contrário da reflexão, ela não inspeciona métodos. TypeDescriptor pode ser estendido dinamicamente por vários serviços disponíveis por meio do Sitedo componente de destino. A tabela a seguir mostra esses serviços.

Nome do serviço Descrição
IExtenderProvider Permite que outra classe, como ToolTip, forneça propriedades extras a um componente.
ITypeDescriptorFilterService Permite que outro objeto modifique os metadados padrão expostos por um componente.
ICustomTypeDescriptor Permite que uma classe especifique completamente e dinamicamente seus próprios metadados, substituindo o mecanismo de inspeção padrão de TypeDescriptor.

A extensibilidade fornecida pelo TypeDescriptor permite que a representação em tempo de design de um componente difere de sua representação real em tempo de execução, o que torna TypeDescriptor útil para criar infraestrutura de tempo de design.

Todos os métodos em TypeDescriptor são static. Você não pode criar uma instância dessa classe e essa classe não pode ser herdada.

Você pode definir valores de propriedade e evento de duas maneiras diferentes: especifique-os na classe de componente ou altere-os em tempo de design. Como você pode definir esses valores de duas maneiras, os métodos sobrecarregados de TypeDescriptor levam dois tipos diferentes de parâmetros: um tipo de classe ou uma instância de objeto.

Quando quiser acessar TypeDescriptor informações e tiver uma instância do objeto, use o método que exige um componente. Use o método que exige o tipo de classe somente quando você não tiver uma instância do objeto.

Propriedades e eventos são armazenados em cache por TypeDescriptor para velocidade. Normalmente, elas são constantes durante o tempo de vida de um objeto. No entanto, provedores e designers de extensor podem alterar o conjunto de propriedades em um objeto. Se esse for o caso, o método Refresh deverá ser chamado para atualizar o cache.

Propriedades

ComNativeDescriptorHandler
Obsoleto.
Obsoleto.
Obsoleto.
Obsoleto.

Obtém ou define o provedor para as informações de tipo COM (Component Object Model) para o componente de destino.

ComObjectType

Obtém o tipo do objeto COM (Component Object Model) representado pelo componente de destino.

InterfaceType

Obtém um tipo que representa um provedor de descrição de tipo para todos os tipos de interface.

Métodos

AddAttributes(Object, Attribute[])

Adiciona atributos de nível de classe à instância do componente de destino.

AddAttributes(Type, Attribute[])

Adiciona atributos de nível de classe ao tipo de componente de destino.

AddEditorTable(Type, Hashtable)

Adiciona uma tabela de editor para o tipo base do editor fornecido.

AddProvider(TypeDescriptionProvider, Object)

Adiciona um provedor de descrição de tipo para uma única instância de um componente.

AddProvider(TypeDescriptionProvider, Type)

Adiciona um provedor de descrição de tipo para uma classe de componente.

AddProviderTransparent(TypeDescriptionProvider, Object)

Adiciona um provedor de descrição de tipo para uma única instância de um componente.

AddProviderTransparent(TypeDescriptionProvider, Type)

Adiciona um provedor de descrição de tipo para uma classe de componente.

CreateAssociation(Object, Object)

Cria uma associação primária-secundária entre dois objetos.

CreateDesigner(IComponent, Type)

Cria uma instância do designer associado ao componente especificado e do tipo de designer especificado.

CreateEvent(Type, EventDescriptor, Attribute[])

Cria um novo descritor de evento idêntico a um descritor de evento existente, quando passado o EventDescriptorexistente.

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

Cria um novo descritor de evento idêntico a um descritor de evento existente gerando dinamicamente informações de descritor de um evento especificado em um tipo.

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

Cria um objeto que pode substituir outro tipo de dados.

CreateProperty(Type, PropertyDescriptor, Attribute[])

Cria um novo descritor de propriedade de um descritor de propriedade existente, usando o PropertyDescriptor e a matriz de atributos existentes especificados.

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

Cria e associa dinamicamente um descritor de propriedade a um tipo, usando o nome da propriedade, o tipo e a matriz de atributos especificados.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetAssociation(Type, Object)

Retorna uma instância do tipo associado ao objeto primário especificado.

GetAttributes(Object)

Retorna a coleção de atributos para o componente especificado.

GetAttributes(Object, Boolean)

Retorna uma coleção de atributos para o componente especificado e um booliano que indica que um descritor de tipo personalizado foi criado.

GetAttributes(Type)

Retorna uma coleção de atributos para o tipo de componente especificado.

GetClassName(Object)

Retorna o nome da classe para o componente especificado usando o descritor de tipo padrão.

GetClassName(Object, Boolean)

Retorna o nome da classe para o componente especificado usando um descritor de tipo personalizado.

GetClassName(Type)

Retorna o nome da classe para o tipo especificado.

GetComponentName(Object)

Retorna o nome do componente especificado usando o descritor de tipo padrão.

GetComponentName(Object, Boolean)

Retorna o nome do componente especificado usando um descritor de tipo personalizado.

GetConverter(Object)

Retorna um conversor de tipo para o tipo do componente especificado.

GetConverter(Object, Boolean)

Retorna um conversor de tipo para o tipo do componente especificado com um descritor de tipo personalizado.

GetConverter(Type)

Retorna um conversor de tipo para o tipo especificado.

GetConverterFromRegisteredType(Object)

Obtém um conversor de tipo para o tipo do componente especificado.

GetConverterFromRegisteredType(Type)

Obtém um conversor de tipo para o tipo registrado especificado.

GetDefaultEvent(Object)

Retorna o evento padrão para o componente especificado.

GetDefaultEvent(Object, Boolean)

Retorna o evento padrão para um componente com um descritor de tipo personalizado.

GetDefaultEvent(Type)

Retorna o evento padrão para o tipo de componente especificado.

GetDefaultProperty(Object)

Retorna a propriedade padrão para o componente especificado.

GetDefaultProperty(Object, Boolean)

Retorna a propriedade padrão para o componente especificado com um descritor de tipo personalizado.

GetDefaultProperty(Type)

Retorna a propriedade padrão para o tipo de componente especificado.

GetEditor(Object, Type)

Obtém um editor com o tipo base especificado para o componente especificado.

GetEditor(Object, Type, Boolean)

Retorna um editor com o tipo base especificado e com um descritor de tipo personalizado para o componente especificado.

GetEditor(Type, Type)

Retorna um editor com o tipo base especificado para o tipo especificado.

GetEvents(Object)

Retorna a coleção de eventos para o componente especificado.

GetEvents(Object, Attribute[])

Retorna a coleção de eventos para um componente especificado usando uma matriz especificada de atributos como um filtro.

GetEvents(Object, Attribute[], Boolean)

Retorna a coleção de eventos para um componente especificado usando uma matriz especificada de atributos como um filtro e usando um descritor de tipo personalizado.

GetEvents(Object, Boolean)

Retorna a coleção de eventos para um componente especificado com um descritor de tipo personalizado.

GetEvents(Type)

Retorna a coleção de eventos para um tipo de componente especificado.

GetEvents(Type, Attribute[])

Retorna a coleção de eventos para um tipo especificado de componente usando uma matriz de atributos especificada como um filtro.

GetEventsFromRegisteredType(Type)

Obtém uma coleção de eventos para um tipo de componente especificado.

GetFullComponentName(Object)

Retorna o nome totalmente qualificado do componente.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetProperties(Object)

Retorna a coleção de propriedades de um componente especificado.

GetProperties(Object, Attribute[])

Retorna a coleção de propriedades de um componente especificado usando uma matriz especificada de atributos como um filtro.

GetProperties(Object, Attribute[], Boolean)

Retorna a coleção de propriedades de um componente especificado usando uma matriz especificada de atributos como um filtro e usando um descritor de tipo personalizado.

GetProperties(Object, Boolean)

Retorna a coleção de propriedades de um componente especificado usando o descritor de tipo padrão.

GetProperties(Type)

Retorna a coleção de propriedades para um tipo de componente especificado.

GetProperties(Type, Attribute[])

Retorna a coleção de propriedades de um tipo de componente especificado usando uma matriz de atributos especificada como um filtro.

GetPropertiesFromRegisteredType(Object)

Obtém uma coleção de propriedades para um componente especificado.

GetPropertiesFromRegisteredType(Type)

Obtém uma coleção de propriedades para um tipo especificado.

GetProvider(Object)

Retorna o provedor de descrição de tipo para o componente especificado.

GetProvider(Type)

Retorna o provedor de descrição de tipo para o tipo especificado.

GetReflectionType(Object)

Retorna um Type que pode ser usado para executar reflexão, considerando um objeto.

GetReflectionType(Type)

Retorna um Type que pode ser usado para executar reflexão, dado um tipo de classe.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
Refresh(Assembly)

Limpa as propriedades e os eventos do assembly especificado do cache.

Refresh(Module)

Limpa as propriedades e os eventos do módulo especificado do cache.

Refresh(Object)

Limpa as propriedades e os eventos do componente especificado do cache.

Refresh(Type)

Limpa as propriedades e os eventos do tipo de componente especificado do cache.

RegisterType<T>()

Registra o tipo para que ele possa ser usado por provedores baseados em reflexão em aplicativos cortados.

RemoveAssociation(Object, Object)

Remove uma associação entre dois objetos.

RemoveAssociations(Object)

Remove todas as associações de um objeto primário.

RemoveProvider(TypeDescriptionProvider, Object)

Remove um provedor de descrição de tipo adicionado anteriormente associado ao objeto especificado.

RemoveProvider(TypeDescriptionProvider, Type)

Remove um provedor de descrição de tipo adicionado anteriormente associado ao tipo especificado.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

Remove um provedor de descrição de tipo adicionado anteriormente associado ao objeto especificado.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

Remove um provedor de descrição de tipo adicionado anteriormente associado ao tipo especificado.

SortDescriptorArray(IList)

Classifica descritores usando o nome do descritor.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Eventos

Refreshed

Ocorre quando o cache de um componente é limpo.

Aplica-se a

Confira também