TypeConverterAttribute TypeConverterAttribute TypeConverterAttribute TypeConverterAttribute Class

Definição

Especifica o tipo a ser usado como um conversor para o objeto ao qual este atributo está associado.Specifies what type to use as a converter for the object this attribute is bound to.

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

Exemplos

O exemplo a seguir declara MyClass usar o conversor de tipo chamado MyClassConverter.The following example declares MyClass to use the type converter called MyClassConverter. Este exemplo pressupõe que MyClassConverter foi implementado em outro lugar.This example assumes that MyClassConverter has been implemented elsewhere. A classe que implementa o conversorMyClassConverter() deve herdar TypeConverter da classe.The class implementing the converter (MyClassConverter) must inherit from the TypeConverter class.

[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 'MyClass

O exemplo a seguir cria uma instância MyClassdo.The next example creates an instance of MyClass. Em seguida, ele obtém os atributos para a classe e imprime o nome do conversor de tipo MyClassusado pelo.Then it gets the attributes for the class, and prints the name of the type converter used by 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.The class you use for conversion must inherit from TypeConverter. Use a ConverterTypeName propriedade para obter o nome da classe que fornece a conversão de dados para o objeto ao qual este atributo está associado.Use the ConverterTypeName property to get the name of the class that provides the data conversion for the object this attribute is bound to.

Para obter mais informações sobre atributos, consulte Atributos.For more information about attributes, see Attributes. Para obter mais informações sobre conversores de tipo, TypeConverter consulte a classe base e como: Implemente um conversorde tipo.For more information about type converters, see the TypeConverter base class and How to: Implement a Type Converter.

Para estabelecer um conversor de tipo em uma classe personalizada que fornece o comportamento de conversão de tipo para XAML, você TypeConverterAttribute aplica o atributo ao seu tipo.In order to establish a type converter on a custom class that provides type conversion behavior for XAML, you apply the TypeConverterAttribute attribute to your type. O argumento do atributo faz referência à implementação do conversor de tipo.The argument of the attribute references your type converter implementation. Seu 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.Your type converter should be able to accept values from a string that is used for attributes or initialization text in XAML markup, and convert that string into your intended destination type. Para obter mais informações, consulte TypeConverters e XAML.For more information, see TypeConverters and 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.Rather than applying to all values of a type, a type converter behavior for XAML can also be established on a specific property. Nesse caso, você aplica- TypeConverterAttribute se à definição da propriedade (a definição externa, não as get definições set e específicas).In this case, you apply TypeConverterAttribute to the property definition (the outer definition, not the specific get and set definitions).

Um comportamento de conversor de tipo para uso XAML de um membro anexável personalizado pode ser atribuído TypeConverterAttribute aplicando get -se ao acessador de método que dá suporte ao uso XAML.A type converter behavior for XAML usage of a custom attachable member can be assigned by applying TypeConverterAttribute to the get method accessor that supports the XAML usage. Para obter mais informações, consulte Visão geral das propriedades anexadas.For more information, see Attached Properties Overview.

Para casos de serialização XAML complexos que exigem estado adicional do tempo de execução do objeto, considere definir um serializador de valor além de um conversor de tipo e o atributo ambas as classes de suporte em seus tipos personalizados ou membros personalizados.For complex XAML serialization cases that require additional state from the object runtime, consider defining a value serializer in addition to a type converter, and attribute both support classes on your custom types or custom members. Para obter mais informações, consulte ValueSerializer.For more information, see ValueSerializer.

Construtores

TypeConverterAttribute() TypeConverterAttribute() TypeConverterAttribute() TypeConverterAttribute()

Inicializa uma nova instância da classe TypeConverterAttribute com o conversor de tipo padrão, que é uma cadeia de caracteres vazia ("").Initializes a new instance of the TypeConverterAttribute class with the default type converter, which is an empty string ("").

TypeConverterAttribute(String) TypeConverterAttribute(String) TypeConverterAttribute(String) 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.Initializes a new instance of the TypeConverterAttribute class, using the specified type name as the data converter for the object this attribute is bound to.

TypeConverterAttribute(Type) TypeConverterAttribute(Type) TypeConverterAttribute(Type) 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.Initializes a new instance of the TypeConverterAttribute class, using the specified type as the data converter for the object this attribute is bound to.

Campos

Default Default Default Default

Especifica o tipo a ser usado como um conversor para o objeto ao qual este atributo está associado.Specifies the type to use as a converter for the object this attribute is bound to.

Propriedades

ConverterTypeName ConverterTypeName ConverterTypeName ConverterTypeName

Obtém o nome de tipo totalmente qualificado da Type a ser usada como conversor do objeto ao qual esse atributo está associado.Gets the fully qualified type name of the Type to use as a converter for the object this attribute is bound to.

TypeId TypeId TypeId TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Métodos

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Retorna se o valor do objeto especificado é igual ao TypeConverterAttribute atual.Returns whether the value of the given object is equal to the current TypeConverterAttribute.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Retorna o código hash para essa instância.Returns the hash code for this instance.

GetType() GetType() GetType() GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Inherited from Object)

Implantações explícitas de interface

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _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.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Aplica-se a

Veja também