TypeDescriptor Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |