TypeConverterAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica que tipo usar como conversor para o objeto ao qual este atributo está ligado.
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
- Atributos
Exemplos
O exemplo seguinte declara MyClass usar o conversor de tipos chamado MyClassConverter. Este exemplo assume que MyClassConverter isso foi implementado noutro local. 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 exemplo seguinte cria uma instância de MyClass. Depois obtém os atributos da classe e imprime o nome do conversor de tipos 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();
// 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
Observações
A classe que usa para a 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 este atributo está vinculado.
Para mais informações sobre atributos, consulte Atributos. Para mais informações sobre conversores de tipos, consulte a TypeConverter classe base e Como: Implementar um Conversor de Tipos.
Para estabelecer um conversor de tipos numa classe personalizada que forneça comportamento de conversão de tipos para XAML, aplica-se o TypeConverterAttribute atributo ao seu tipo. O argumento do atributo refere-se à implementação do teu conversor de tipos. O seu conversor de tipos deve ser capaz de aceitar valores de uma cadeia usada para atributos ou texto de inicialização em marcação XAML, e converter essa cadeia no tipo de destino pretendido. Para mais informações, consulte TypeConverters e XAML.
Em vez de se aplicar a todos os valores de um tipo, um comportamento de conversor de tipos para XAML também pode ser estabelecido numa propriedade específica. Neste caso, aplica-se TypeConverterAttribute à definição de propriedade (a definição exterior, não às definições específicas get e set e).
Um comportamento de conversor de tipos para o uso de um membro anexável personalizado em XAML pode ser atribuído aplicando TypeConverterAttribute ao get acessor de método que suporta a utilização de XAML. Para mais informações, consulte Visão Geral das Propriedades Anexadas.
Para casos complexos de serialização XAML que requerem estado adicional do runtime do objeto, considere definir um serializador de valores além de um conversor de tipos, e atribuir ambas as classes de suporte nos seus tipos personalizados ou membros personalizados. Para obter mais informações, veja ValueSerializer.
Construtores
| Name | Description |
|---|---|
| TypeConverterAttribute() |
Inicializa uma nova instância da TypeConverterAttribute classe com o conversor de tipo padrão, que é uma cadeia vazia (""). |
| TypeConverterAttribute(String) |
Inicializa uma nova instância da TypeConverterAttribute classe, usando o nome do tipo especificado como conversor de dados para o objeto ao qual este atributo está vinculado. |
| TypeConverterAttribute(Type) |
Inicializa uma nova instância da TypeConverterAttribute classe, usando o tipo especificado como conversor de dados para o objeto ao qual este atributo está vinculado. |
Campos
| Name | Description |
|---|---|
| Default |
Especifica o tipo a usar como conversor para o objeto ao qual este atributo está ligado. |
Propriedades
| Name | Description |
|---|---|
| ConverterTypeName |
Obtém o nome Type do tipo totalmente qualificado do para usar como conversor para o objeto ao qual este atributo está ligado. |
| TypeId |
Quando implementado numa classe derivada, obtém um identificador único para esta Attribute. (Herdado de Attribute) |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Devolve se o valor do objeto dado é igual à corrente TypeConverterAttribute. |
| GetHashCode() |
Devolve o código de hash para esta instância. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |