Compartir a través de


TypeConverterAttribute Clase

Definición

Especifica el tipo que se debe utilizar como convertidor para el objeto al que está enlazado este atributo.

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
Herencia
TypeConverterAttribute
Atributos

Ejemplos

En el ejemplo siguiente se declara MyClass para usar el convertidor de tipos denominado MyClassConverter. En este ejemplo se supone que MyClassConverter se ha implementado en otro lugar. La clase que implementa el convertidor (MyClassConverter) debe heredar de la TypeConverter clase .

[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

En el ejemplo siguiente se crea una instancia de MyClass. A continuación, obtiene los atributos de la clase e imprime el nombre del convertidor 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

Comentarios

La clase que se usa para la conversión debe heredar de TypeConverter. Use la ConverterTypeName propiedad para obtener el nombre de la clase que proporciona la conversión de datos para el objeto al que está enlazado este atributo.

Para obtener más información sobre los atributos, vea Atributos. Para obtener más información sobre los convertidores de tipos, vea la TypeConverter clase base y How to: Implement a Type Converter.

Para establecer un convertidor de tipos en una clase personalizada que proporciona el comportamiento de conversión de tipos para XAML, aplicas el TypeConverterAttribute atributo al tipo. El argumento del atributo hace referencia a la implementación del convertidor de tipos. El convertidor de tipos debe ser capaz de aceptar valores de una cadena que se usa para atributos o texto de inicialización en marcado XAML y convertir esa cadena en el tipo de destino previsto. Para obtener más información, consulta TypeConverters y XAML.

En lugar de aplicar a todos los valores de un tipo, también se puede establecer un comportamiento de convertidor de tipos para XAML en una propiedad específica. En este caso, se aplica TypeConverterAttribute a la definición de propiedad (la definición externa, no a las definiciones y set específicasget).

Se puede asignar un comportamiento de convertidor de tipos para el uso xaml de un miembro adjuntable personalizado aplicando TypeConverterAttribute al descriptor de acceso de get método que admite el uso de XAML. Para obtener más información, vea Información general sobre las propiedades adjuntas.

En el caso de casos complejos de serialización XAML que requieren un estado adicional del tiempo de ejecución del objeto, considere la posibilidad de definir un serializador de valores además de un convertidor de tipos y el atributo admiten clases en los tipos personalizados o miembros personalizados. Para obtener más información, consulte ValueSerializer.

Constructores

Nombre Description
TypeConverterAttribute()

Inicializa una nueva instancia de la TypeConverterAttribute clase con el convertidor de tipos predeterminado, que es una cadena vacía ("").

TypeConverterAttribute(String)

Inicializa una nueva instancia de la TypeConverterAttribute clase utilizando el nombre de tipo especificado como convertidor de datos para el objeto al que está enlazado este atributo.

TypeConverterAttribute(Type)

Inicializa una nueva instancia de la TypeConverterAttribute clase utilizando el tipo especificado como convertidor de datos para el objeto al que está enlazado este atributo.

Campos

Nombre Description
Default

Especifica el tipo al que se va a usar como convertidor para el objeto al que está enlazado este atributo.

Propiedades

Nombre Description
ConverterTypeName

Obtiene el nombre de tipo completo del objeto al que Type se va a usar como convertidor para el objeto al que está enlazado este atributo.

TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.

(Heredado de Attribute)

Métodos

Nombre Description
Equals(Object)

Devuelve si el valor del objeto especificado es igual al actual TypeConverterAttribute.

GetHashCode()

Devuelve el código hash de esta instancia.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Cuando se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(Object)

Cuando se reemplaza en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

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

Recupera la información de tipo de un objeto, que se puede usar para obtener la información de tipo de una interfaz.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).

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

Proporciona acceso a propiedades y métodos expuestos por un objeto .

(Heredado de Attribute)

Se aplica a

Consulte también