TypeConverterAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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) |