TypeDescriptor Classe

Definição

Fornece informações sobre as características de um componente, como os seus atributos, propriedades e eventos. Esta 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

Observações

.NET Framework fornece duas formas de aceder a metadados de um tipo: a API de reflexão fornecida no espaço de nomes System.Reflection e a classe TypeDescriptor. A reflexão é um mecanismo geral disponível para todos os tipos porque a sua base está estabelecida no GetType método da classe raiz.Object A informação que devolve para um tipo não é extensível, pois não pode ser modificada após a compilação do tipo alvo. Para mais informações, consulte os tópicos em Reflexão.

Em contraste, TypeDescriptor é um mecanismo de inspeção extensível para componentes: aquelas classes que implementam a IComponent interface. Ao contrário da reflexão, não inspeciona métodos. TypeDescriptor pode ser estendido dinamicamente por vários serviços disponíveis através do componente Sitealvo . A tabela seguinte mostra estes serviços.

Nome do serviço Description
IExtenderProvider Permite que outra classe, como ToolTip, forneça propriedades adicionais 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 os seus próprios metadados, substituindo o mecanismo padrão de inspeção de TypeDescriptor.

A extensibilidade proporcionada por TypeDescriptor permite que a representação em tempo de projeto de um componente diferia da sua representação real em tempo de execução, o que é TypeDescriptor útil para construir infraestruturas em tempo de projeto.

Todos os métodos em TypeDescriptor são static. Não podes criar uma instância desta classe, e esta classe não pode ser herdada.

Podes definir valores de propriedades e eventos de duas formas diferentes: especificá-los na classe componente ou mudá-los no momento do design. Como podes definir estes valores de duas formas, os métodos sobrecarregados de TypeDescriptor aceitam dois tipos diferentes de parâmetros: um tipo de classe ou uma instância de objeto.

Quando quiser aceder TypeDescriptor à informação 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 apenas quando não tem uma instância do objeto.

Propriedades e eventos são armazenados em cache para TypeDescriptor maior velocidade. Normalmente, são constantes durante toda a vida útil de um objeto. No entanto, os fornecedores e designers de extensores podem alterar o conjunto de propriedades de um objeto. Se for esse o caso, então o Refresh método deve ser chamado para atualizar a cache.

Propriedades

Name Description
ComNativeDescriptorHandler
Obsoleto.
Obsoleto.

Obtém ou define o fornecedor para a informação do tipo Component Object Model (COM) para o componente alvo.

ComObjectType

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

InterfaceType

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

Métodos

Name Description
AddAttributes(Object, Attribute[])

Adiciona atributos ao nível da classe à instância do componente alvo.

AddAttributes(Type, Attribute[])

Adiciona atributos ao nível da classe ao tipo de componente alvo.

AddEditorTable(Type, Hashtable)

Adiciona uma tabela de editor para o tipo de base de editor dado.

AddProvider(TypeDescriptionProvider, Object)

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

AddProvider(TypeDescriptionProvider, Type)

Adiciona um fornecedor de descrição de tipos para uma classe de componente.

AddProviderTransparent(TypeDescriptionProvider, Object)

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

AddProviderTransparent(TypeDescriptionProvider, Type)

Adiciona um fornecedor de descrição de tipos 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 associada ao componente especificado e ao tipo de designer especificado.

CreateEvent(Type, EventDescriptor, Attribute[])

Cria um novo descritor de evento idêntico a um descritor de evento existente, quando passado pelo existente EventDescriptor.

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

Cria um novo descritor de evento idêntico a um descritor de evento existente, gerando dinamicamente informação de descritor a partir de um evento especificado num tipo.

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

Cria um objeto que pode substituir outro tipo de dado.

CreateProperty(Type, PropertyDescriptor, Attribute[])

Cria um novo descritor de propriedade a partir de um descritor de propriedade existente, usando o array existente PropertyDescriptor e de atributos especificado.

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

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

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetAssociation(Type, Object)

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

GetAttributes(Object, Boolean)

Devolve uma coleção de atributos para o componente especificado e um Booleano indicando que foi criado um descritor de tipo personalizado.

GetAttributes(Object)

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

GetAttributes(Type)

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

GetClassName(Object, Boolean)

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

GetClassName(Object)

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

GetClassName(Type)

Devolve o nome da classe para o tipo especificado.

GetComponentName(Object, Boolean)

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

GetComponentName(Object)

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

GetConverter(Object, Boolean)

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

GetConverter(Object)

Devolve um conversor de tipos para o tipo do componente especificado.

GetConverter(Type)

Devolve um conversor de tipos para o tipo especificado.

GetDefaultEvent(Object, Boolean)

Devolve o evento predefinido de um componente com um descritor de tipo personalizado.

GetDefaultEvent(Object)

Devolve o evento predefinido para o componente especificado.

GetDefaultEvent(Type)

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

GetDefaultProperty(Object, Boolean)

Devolve a propriedade por defeito para o componente especificado com um descritor de tipo personalizado.

GetDefaultProperty(Object)

Devolve a propriedade padrão para o componente especificado.

GetDefaultProperty(Type)

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

GetEditor(Object, Type, Boolean)

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

GetEditor(Object, Type)

Recebe um editor com o tipo base especificado para o componente especificado.

GetEditor(Type, Type)

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

GetEvents(Object, Attribute[], Boolean)

Devolve a coleção de eventos para um componente especificado usando um array especificado de atributos como filtro e usando um descritor de tipo personalizado.

GetEvents(Object, Attribute[])

Devolve a coleção de eventos para um componente especificado usando um array especificado de atributos como filtro.

GetEvents(Object, Boolean)

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

GetEvents(Object)

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

GetEvents(Type, Attribute[])

Devolve a coleção de eventos para um tipo específico de componente usando um array especificado de atributos como filtro.

GetEvents(Type)

Devolve a coleção de eventos para um tipo específico de componente.

GetFullComponentName(Object)

Devolve o nome totalmente qualificado do componente.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetProperties(Object, Attribute[], Boolean)

Devolve a coleção de propriedades de um componente especificado usando um array especificado de atributos como filtro e usando um descritor de tipo personalizado.

GetProperties(Object, Attribute[])

Devolve a coleção de propriedades de um componente especificado usando um array especificado de atributos como filtro.

GetProperties(Object, Boolean)

Devolve a coleção de propriedades para um componente especificado usando o descriptor de tipo padrão.

GetProperties(Object)

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

GetProperties(Type, Attribute[])

Devolve a coleção de propriedades para um tipo específico de componente usando um array especificado de atributos como filtro.

GetProperties(Type)

Devolve a coleção de propriedades para um tipo específico de componente.

GetProvider(Object)

Devolve o fornecedor de descrição do tipo para o componente especificado.

GetProvider(Type)

Devolve o fornecedor de descrição do tipo para o tipo especificado.

GetReflectionType(Object)

Devolve a Type que pode ser usado para realizar reflexão, dado um objeto.

GetReflectionType(Type)

Devolve a Type que pode ser usado para realizar 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 atual Object.

(Herdado de Object)
Refresh(Assembly)

Limpa as propriedades e eventos do assembly especificado da cache.

Refresh(Module)

Apaga as propriedades e eventos do módulo especificado da cache.

Refresh(Object)

Limpa as propriedades e eventos do componente especificado da cache.

Refresh(Type)

Apaga as propriedades e eventos do tipo de componente especificado da cache.

RemoveAssociation(Object, Object)

Remove uma associação entre dois objetos.

RemoveAssociations(Object)

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

RemoveProvider(TypeDescriptionProvider, Object)

Remove um fornecedor de descrição de tipo previamente adicionado que está associado ao objeto especificado.

RemoveProvider(TypeDescriptionProvider, Type)

Remove um fornecedor de descrição de tipo previamente adicionado que está associado ao tipo especificado.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

Remove um fornecedor de descrição de tipo previamente adicionado que está associado ao objeto especificado.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

Remove um fornecedor de descrição de tipo previamente adicionado que está associado ao tipo especificado.

SortDescriptorArray(IList)

Ordena os descritores usando o nome do descritor.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

evento

Name Description
Refreshed

Ocorre quando a cache de um componente é limpa.

Aplica-se a

Ver também