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 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

Comentarios

La clase que se usa para la conversión debe heredar de TypeConverter. Utilice 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 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 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 poder aceptar valores de una cadena que se usa para atributos o texto de inicialización en el marcado XAML y convertir esa cadena en el tipo de destino previsto. Para obtener más información, consulte TypeConverters y XAML.

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

Un comportamiento de convertidor de tipos para el uso XAML de un miembro adjuntable personalizado se puede asignar mediante la aplicación de TypeConverterAttribute al descriptor de acceso del método get que admite el uso de XAML. Para más información, consulte la información general sobre propiedades adjuntas.

Para 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, vea ValueSerializer.

Constructores

TypeConverterAttribute()

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

TypeConverterAttribute(String)

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

TypeConverterAttribute(Type)

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

Campos

Default

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

Propiedades

ConverterTypeName

Obtiene el nombre completo de Type que se utilizará como convertidor del 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

Equals(Object)

Devuelve un valor que indica si el valor del objeto especificado es igual al atributo TypeConverterAttribute actual.

GetHashCode()

Devuelve el código hash de esta instancia.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Si 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 invalida 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 Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

_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)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos 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 las propiedades y los métodos expuestos por un objeto.

(Heredado de Attribute)

Se aplica a

Consulte también