Partilhar via


TypeConverterAttribute Classe

Definição

Especifica o tipo a ser usado como um conversor para o objeto ao qual este atributo está associado.

public ref class TypeConverterAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class TypeConverterAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type TypeConverterAttribute = class
    inherit Attribute
Public NotInheritable Class TypeConverterAttribute
Inherits Attribute
Herança
TypeConverterAttribute
Atributos

Exemplos

O exemplo a seguir declara MyClass usar o conversor de tipo chamado MyClassConverter. Este exemplo pressupõe que MyClassConverter foi implementado em outro lugar. A classe que implementa o conversor (MyClassConverter) deve herdar da TypeConverter classe .

[TypeConverter(Class1::MyClassConverter::typeid)]
ref class MyClass{
   // Insert code here.
};
[TypeConverter(typeof(MyClassConverter))]
 public class MyClass {
    // Insert code here.
 }
<TypeConverter(GetType(MyClassConverter))> _
Public Class ClassA
    ' Insert code here.
End Class

O próximo exemplo cria uma instância de MyClass. Em seguida, ele obtém os atributos para a classe e imprime o nome do conversor de tipo usado por MyClass.

int main()
{
   // Creates a new instance of MyClass.
   Class1::MyClass^ myNewClass = gcnew Class1::MyClass;

   // Gets the attributes for the instance.
   AttributeCollection^ attributes = TypeDescriptor::GetAttributes( myNewClass );

   /* Prints the name of the type converter by retrieving the 
        * TypeConverterAttribute from the AttributeCollection. */
   TypeConverterAttribute^ myAttribute = dynamic_cast<TypeConverterAttribute^>(attributes[ TypeConverterAttribute::typeid ]);
   Console::WriteLine( "The type converter for this class is: {0}", myAttribute->ConverterTypeName );
   return 0;
}
public static int Main() {
    // Creates a new instance of MyClass.
    MyClass myNewClass = new MyClass();
 
    // Gets the attributes for the instance.
    AttributeCollection attributes = TypeDescriptor.GetAttributes(myNewClass);
 
    /* Prints the name of the type converter by retrieving the 
     * TypeConverterAttribute from the AttributeCollection. */
    TypeConverterAttribute myAttribute = 
        (TypeConverterAttribute)attributes[typeof(TypeConverterAttribute)];
    
    Console.WriteLine("The type conveter for this class is: " + 
        myAttribute.ConverterTypeName);
 
    return 0;
 }
Public Shared Function Main() As Integer
    ' Creates a new instance of ClassA.
    Dim myNewClass As New ClassA()
    
    ' Gets the attributes for the instance.
    Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(myNewClass)
    
    ' Prints the name of the type converter by retrieving the
    ' TypeConverterAttribute from the AttributeCollection. 
    Dim myAttribute As TypeConverterAttribute = _
        CType(attributes(GetType(TypeConverterAttribute)), TypeConverterAttribute)
    
    Console.WriteLine(("The type conveter for this class is: " _
        + myAttribute.ConverterTypeName))
    Return 0
End Function 'Main

Comentários

A classe usada para conversão deve herdar de TypeConverter. Use a ConverterTypeName propriedade para obter o nome da classe que fornece a conversão de dados para o objeto ao qual esse atributo está associado.

Para obter mais informações sobre atributos, consulte Atributos. Para obter mais informações sobre conversores de tipo, consulte a TypeConverter classe base e Como implementar um conversor de tipo.

Para estabelecer um conversor de tipo em uma classe personalizada que fornece comportamento de conversão de tipo para XAML, você aplica o TypeConverterAttribute atributo ao seu tipo. O argumento do atributo faz referência à implementação do conversor de tipo. O conversor de tipo deve ser capaz de aceitar valores de uma cadeia de caracteres que é usada para atributos ou texto de inicialização na marcação XAML e converter essa cadeia de caracteres em seu tipo de destino pretendido. Para obter mais informações, consulte TypeConverters e XAML.

Em vez de aplicar a todos os valores de um tipo, um comportamento de conversor de tipo para XAML também pode ser estabelecido em uma propriedade específica. Nesse caso, você se aplica TypeConverterAttribute à definição de propriedade (a definição externa, não as definições e set específicasget).

Um comportamento de conversor de tipo para o uso de XAML de um membro anexável personalizado pode ser atribuído aplicando-se TypeConverterAttribute ao acessador de get método que dá suporte ao uso de XAML. Para obter mais informações, consulte Visão geral das propriedades anexadas.

Para casos complexos de serialização XAML que exigem estado adicional do runtime do objeto, considere definir um serializador de valor além de um conversor de tipo e atribuir classes de suporte em seus tipos personalizados ou membros personalizados. Para obter mais informações, consulte ValueSerializer.

Construtores

TypeConverterAttribute()

Inicializa uma nova instância da classe TypeConverterAttribute com o conversor de tipo padrão, que é uma cadeia de caracteres vazia ("").

TypeConverterAttribute(String)

Inicializa uma nova instância da classe TypeConverterAttribute usando o nome de tipo especificado como o conversor de dados do objeto ao qual esse atributo está associado.

TypeConverterAttribute(Type)

Inicializa uma nova instância da classe TypeConverterAttribute usando o tipo especificado como o conversor de dados do objeto ao qual esse atributo está associado.

Campos

Default

Especifica o tipo a ser usado como um conversor para o objeto ao qual este atributo está associado.

Propriedades

ConverterTypeName

Obtém o nome de tipo totalmente qualificado da Type a ser usada como conversor do objeto ao qual esse atributo está associado.

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.

(Herdado de Attribute)

Métodos

Equals(Object)

Retorna se o valor do objeto especificado é igual ao TypeConverterAttribute atual.

GetHashCode()

Retorna o código hash para a instância.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Confira também