TypeDescriptor Classe

Definição

Fornece informações sobre as características de um componente, como 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 System.Reflection namespace e a TypeDescriptor classe . Reflexão é um mecanismo geral disponível para todos os tipos porque sua base é estabelecida no GetType método da classe raiz Object . 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 em Reflexão.

Por outro lado, TypeDescriptor é um mecanismo de inspeção extensível para componentes: as classes que implementam a IComponent interface. 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 componente de Sitedestino . 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 por 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 a criação de 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 usar 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 chama um componente. Use o método que chama 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, eles são constantes durante o tempo de vida de um objeto. No entanto, os provedores e designers de extensor podem alterar o conjunto de propriedades em um objeto . Se esse for o caso, o Refresh método 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 do COM (Component Object Model) do 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 os atributos de nível de classe à instância de 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 especificado.

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 de 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 de 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 associada ao componente especificado e do tipo de designer especificado.

CreateEvent(Type, EventDescriptor, Attribute[])

Cria um novo descritor de evento que é idêntico a um descritor de eventos existente, ao passar pelo EventDescriptor existente.

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

Cria um novo descritor de evento que é idêntico a um descritor de evento existente através da geração dinâmica de informações de descritor de um evento específico em um tipo.

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

Cria um objeto que pode ser substituído em outro tipo de dados.

CreateProperty(Type, PropertyDescriptor, Attribute[])

Cria um novo descritor de propriedade com base em um descritor de propriedade existente, usando o PropertyDescriptor existente especificado e matriz de atributos.

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

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

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetAssociation(Type, Object)

Retorna uma instância do tipo associado com 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 valor 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.

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 de componente especificado usando uma matriz especificada de atributos como um filtro.

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 de atributos especificada como um filtro.

GetProperties(Object, Attribute[], Boolean)

Retorna a coleção de propriedades para 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 para um componente especificado usando o descritor de tipo padrão.

GetProperties(Type)

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

GetProperties(Type, Attribute[])

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

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 a reflexão, considerando um objeto.

GetReflectionType(Type)

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

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Refresh(Assembly)

Limpa do cache as propriedades e eventos do assembly especificado.

Refresh(Module)

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

Refresh(Object)

Limpa do cache as propriedades e eventos do componente especificado.

Refresh(Type)

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

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, que esteja associado com o objeto especificado.

RemoveProvider(TypeDescriptionProvider, Type)

Remove um provedor de descrição de tipo adicionado anteriormente, que esteja associado com o tipo especificado.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

Remove um provedor de descrição de tipo adicionado anteriormente, que esteja associado com o objeto especificado.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

Remove um provedor de descrição de tipo adicionado anteriormente, que esteja associado com o tipo especificado.

SortDescriptorArray(IList)

Classifica os 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