TypeConverter TypeConverter TypeConverter TypeConverter Class

Definition

Proporciona un modo unificado para convertir los tipos de valores en otros tipos, así como para obtener acceso a valores estándar y a subpropiedades. Provides a unified way of converting types of values to other types, as well as for accessing standard values and subproperties.

public ref class TypeConverter
[System.Runtime.InteropServices.ComVisible(true)]
public class TypeConverter
type TypeConverter = class
Public Class TypeConverter
Inheritance
TypeConverterTypeConverterTypeConverterTypeConverter
Derived
Attributes

Examples

El ejemplo de código siguiente muestra cómo crear una instancia de un convertidor de tipos y enlazarla a una clase.The following code example shows how to create an instance of a type converter and bind it to a class. La clase que implementa el convertidor, MyClassConverter, debe heredar de la TypeConverter clase.The class implementing the converter, MyClassConverter, must inherit from the TypeConverter class.

public:
   [TypeConverter(Sample::MyClassConverter::typeid)]
   ref class MyClass
   {
      // Insert code here.
   };
[TypeConverter(typeof(MyClassConverter))]
 public class MyClass {
    // Insert code here.
}
<TypeConverter(GetType(MyClassConverter))> _
Public Class Class1
    ' Insert code here.
End Class 'MyClass

Cuando tenga una propiedad que tiene una enumeración, compruebe si un valor de enumeración es válido antes de establecer la propiedad.When you have a property that has an enumeration, check to see whether an enumeration value is valid before setting the property. El siguiente ejemplo de código requiere que una enumeración denominada MyPropertyEnum se ha declarado.The next code example requires that an enumeration called MyPropertyEnum has been declared.

public:
   property MyPropertyEnum MyProperty 
   {
      void set( MyPropertyEnum value )
      {
         // Checks to see if the value passed is valid.
         if ( !TypeDescriptor::GetConverter( MyPropertyEnum::typeid )->IsValid( value ) )
         {
            throw gcnew ArgumentException;
         }
         // The value is valid. Insert code to set the property.
      }
   }
public MyPropertyEnum MyProperty {
    set {
       // Checks to see if the value passed is valid.
       if (!TypeDescriptor.GetConverter(typeof(MyPropertyEnum)).IsValid(value)) {
          throw new ArgumentException();
       }
       // The value is valid. Insert code to set the property.
    }
 }

Public WriteOnly Property MyProperty() As MyPropertyEnum
    Set
        ' Checks to see if the value passed is valid.
        If Not TypeDescriptor.GetConverter(GetType(MyPropertyEnum)).IsValid(value) Then
            Throw New ArgumentException()
        End If
        ' The value is valid. Insert code to set the property.
    End Set 
End Property

Otro uso del convertidor de tipos común consiste en convertir un objeto en una cadena.Another common type converter usage is to convert an object to a string. En el ejemplo de código siguiente se imprime el nombre de la Color almacenado en la variable c.The following code example prints out the name of the Color stored in the variable c.

Color c = Color::Red;
Console::WriteLine( TypeDescriptor::GetConverter( c )->ConvertToString( c ) );
Color c = Color.Red;
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));
Dim c As Color = Color.Red
Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c))

También puede utilizar un convertidor de tipos para convertir un valor por su nombre, como se muestra en el siguiente ejemplo de código.You can also use a type converter to convert a value from its name, as shown in the next code example.

Color c =  (Color)(TypeDescriptor::GetConverter( Color::typeid )->ConvertFromString( "Red" ));
Color c = (Color)TypeDescriptor.GetConverter(typeof(Color)).ConvertFromString("Red");
Dim c As Color = CType(TypeDescriptor.GetConverter(GetType(Color)).ConvertFromString("Red"), Color)

En el siguiente ejemplo de código, puede usar un convertidor de tipos para imprimir el conjunto de valores estándares compatibles con el objeto.In the following code example, you can use a type converter to print out the set of standard values that the object supports.

for each ( Color c in TypeDescriptor::GetConverter( Color::typeid )->GetStandardValues() )
{
   Console::WriteLine( TypeDescriptor::GetConverter( c )->ConvertToString( c ) );
}
foreach(Color c in TypeDescriptor.GetConverter(typeof(Color)).GetStandardValues()) {
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));
 }
Dim c As Color
For Each c In  TypeDescriptor.GetConverter(GetType(Color)).GetStandardValues()
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c))
Next c

Remarks

El tipo de convertidor más común es que convierte a y desde una representación de texto.The most common type of converter is one that converts to and from a text representation. El convertidor de tipos para una clase está enlazado a la clase con un TypeConverterAttribute.The type converter for a class is bound to the class with a TypeConverterAttribute. A menos que se reemplace este atributo, todas las clases que heredan de esta clase usan el mismo convertidor de tipos como clase base.Unless this attribute is overridden, all classes that inherit from this class use the same type converter as the base class.

Nota

Para fines de tipo general del sistema, no tienen acceso a un convertidor de tipos directamente.For general type system purposes, do not access a type converter directly. En su lugar, tener acceso al convertidor apropiado mediante TypeDescriptor.Instead, access the appropriate converter by using TypeDescriptor. Para obtener más información, vea los ejemplos de código proporcionados.For more information, see the code examples provided.

Tenga en cuenta para fines XAML, un procesador XAML busca el TypeConverterAttribute directamente, en lugar de pasar a través de TypeDescriptor.Note For XAML purposes, a XAML processor searches for the TypeConverterAttribute directly, instead of going through TypeDescriptor. Para los casos donde desee un TypeDescriptor instancia desde el código, o donde se crea una instancia compartida en WPF recursos, es aceptable construirlo directamente sin hacer referencia a TypeDescriptor u otro sistema de reflexión y el tipo de soporte técnico.For cases where you do want a TypeDescriptor instance from code, or where you create a shared instance in WPF resources, it is acceptable to construct it directly without referencing TypeDescriptor or other reflection and type system support.

Las clases derivadas de TypeConverter se suele hacer referencia como parte de cómo un procesador XAML convierte un valor de texto de inicialización o atributo de marcado (que es intrínsecamente una cadena) y genera un objeto para obtener una representación en tiempo de ejecución.Classes derived from TypeConverter are often referenced as part of how a XAML processor converts an attribute or initialization text value from markup (which is inherently a string) and generates an object for a run-time representation. Los autores de tipo personalizado que tenga intención de admitir un comportamiento de conversión de tipos para XAML normalmente implementan un TypeConverter clase que admite su propio único ConvertFrom comportamiento de una cadena.Custom type authors that intend to support a type conversion behavior for XAML typically implement a TypeConverter class that supports their own unique ConvertFrom behavior from a string. Este comportamiento permite la conversión de tipo de la cadena proporcionada como un valor de atributo XAML y proporciona un procesador XAML con la compatibilidad necesaria para crear un objeto de la cadena, por lo que puede producir el objeto en un gráfico de objetos analizado.This behavior enables type conversion from the string provided as a XAML attribute value and provides a XAML processor with the support needed to create an object from the string, so that the object can be produced in a parsed object graph. Tipos personalizados o los miembros de tipos personalizados que se indican mediante la aplicación TypeConverterAttribute a las definiciones, con el atributo hace referencia a la personalizada TypeConverter implementación.Custom types or members of custom types are indicated by applying TypeConverterAttribute to the definitions, with the attribute referencing the custom TypeConverter implementation. Para obtener más información, consulte Type Converters for XAML Overview.For more information, see Type Converters for XAML Overview.

Notes to Inheritors

Heredar de TypeConverter para implementar sus propios requisitos de conversión. Inherit from TypeConverter to implement your own conversion requirements. Al heredar de esta clase, puede invalidar los métodos siguientes: When you inherit from this class, you can override the following methods: -Para admitir la conversión de tipos personalizada, invalide el CanConvertFrom(Type), CanConvertTo(Type), ConvertFrom(Object), y ConvertTo(Object, Type) métodos. - To support custom type conversion, override the CanConvertFrom(Type), CanConvertTo(Type), ConvertFrom(Object), and ConvertTo(Object, Type) methods. -Para convertir los tipos que se deben volver a crear el objeto para cambiar su valor, reemplace el CreateInstance(IDictionary) y GetCreateInstanceSupported() métodos. - To convert types that must re-create the object to change its value, override the CreateInstance(IDictionary) and GetCreateInstanceSupported() methods. -Para convertir tipos que admiten propiedades, reemplace el GetProperties(Object) y GetPropertiesSupported() métodos. - To convert types that support properties, override the GetProperties(Object) and GetPropertiesSupported() methods. Si la clase que está convirtiendo no tiene propiedades y necesita implementar las propiedades, puede usar el TypeConverter.SimplePropertyDescriptor clase como base para implementar los descriptores de propiedad. If the class you are converting does not have properties, and you need to implement properties, you can use the TypeConverter.SimplePropertyDescriptor class as a base for implementing the property descriptors. Al heredar de TypeConverter.SimplePropertyDescriptor, debe invalidar el GetValue(Object) y SetValue(Object, Object) métodos. When you inherit from TypeConverter.SimplePropertyDescriptor, you must override the GetValue(Object) and SetValue(Object, Object) methods. -Para convertir tipos que admiten valores estándar, reemplace el GetStandardValues(), GetStandardValuesExclusive(), GetStandardValuesSupported() y IsValid(Object) métodos. - To convert types that support standard values, override the GetStandardValues(), GetStandardValuesExclusive(), GetStandardValuesSupported() and IsValid(Object) methods.

El tipo derivado puede marcarse como internal o private, pero se puede crear una instancia del tipo con el TypeDescriptor clase. Your derived type might be marked as internal or private, but an instance of your type can be created with the TypeDescriptor class. No escriba código inseguro pensando que el llamador es de confianza. Do not write insecure code by assuming the caller is trusted. En su lugar, se supone que los llamadores pueden crear instancias del tipo en confianza parcial. Assume instead that callers might create instances of your type in partial trust.

Para obtener más información sobre los convertidores de tipos para fines generales (que no sean de XAML), consulte Cómo: implementar un convertidor de tipos o conversión de tipos generalizada. For more information about type converters for general (non-XAML) purposes, see How to: Implement a Type Converter or Generalized Type Conversion.

Constructors

TypeConverter() TypeConverter() TypeConverter() TypeConverter()

Inicializa una nueva instancia de la clase TypeConverter. Initializes a new instance of the TypeConverter class.

Methods

CanConvertFrom(ITypeDescriptorContext, Type) CanConvertFrom(ITypeDescriptorContext, Type) CanConvertFrom(ITypeDescriptorContext, Type) CanConvertFrom(ITypeDescriptorContext, Type)

Devuelve si este convertidor puede convertir un objeto del tipo especificado al tipo de este convertidor, mediante el contexto especificado. Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.

CanConvertFrom(Type) CanConvertFrom(Type) CanConvertFrom(Type) CanConvertFrom(Type)

Devuelve si este convertidor puede convertir un objeto del tipo dado al tipo de este convertidor. Returns whether this converter can convert an object of the given type to the type of this converter.

CanConvertTo(ITypeDescriptorContext, Type) CanConvertTo(ITypeDescriptorContext, Type) CanConvertTo(ITypeDescriptorContext, Type) CanConvertTo(ITypeDescriptorContext, Type)

Devuelve si este convertidor puede convertir el objeto al tipo especificado, con el contexto especificado. Returns whether this converter can convert the object to the specified type, using the specified context.

CanConvertTo(Type) CanConvertTo(Type) CanConvertTo(Type) CanConvertTo(Type)

Devuelve si este convertidor puede convertir el objeto al tipo especificado. Returns whether this converter can convert the object to the specified type.

ConvertFrom(ITypeDescriptorContext, CultureInfo, Object) ConvertFrom(ITypeDescriptorContext, CultureInfo, Object) ConvertFrom(ITypeDescriptorContext, CultureInfo, Object) ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Convierte el objeto determinado al tipo de este convertidor usando el contexto especificado y la información de referencia cultural. Converts the given object to the type of this converter, using the specified context and culture information.

ConvertFrom(Object) ConvertFrom(Object) ConvertFrom(Object) ConvertFrom(Object)

Convierte el valor especificado en el tipo de este convertidor. Converts the given value to the type of this converter.

ConvertFromInvariantString(ITypeDescriptorContext, String) ConvertFromInvariantString(ITypeDescriptorContext, String) ConvertFromInvariantString(ITypeDescriptorContext, String) ConvertFromInvariantString(ITypeDescriptorContext, String)

Convierte la cadena dada en el tipo de este convertidor, utilizando el contexto especificado y la referencia cultural invariable. Converts the given string to the type of this converter, using the invariant culture and the specified context.

ConvertFromInvariantString(String) ConvertFromInvariantString(String) ConvertFromInvariantString(String) ConvertFromInvariantString(String)

Convierte la cadena dada al tipo de este convertidor, utilizando la referencia cultural invariable. Converts the given string to the type of this converter, using the invariant culture.

ConvertFromString(ITypeDescriptorContext, CultureInfo, String) ConvertFromString(ITypeDescriptorContext, CultureInfo, String) ConvertFromString(ITypeDescriptorContext, CultureInfo, String) ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Convierte el texto dado a un objeto, utilizando el contexto especificado y la información de referencia cultural. Converts the given text to an object, using the specified context and culture information.

ConvertFromString(ITypeDescriptorContext, String) ConvertFromString(ITypeDescriptorContext, String) ConvertFromString(ITypeDescriptorContext, String) ConvertFromString(ITypeDescriptorContext, String)

Convierte el texto dado a un objeto, utilizando el contexto especificado. Converts the given text to an object, using the specified context.

ConvertFromString(String) ConvertFromString(String) ConvertFromString(String) ConvertFromString(String)

Convierte el texto especificado a un objeto. Converts the specified text to an object.

ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type) ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type) ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type) ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Convierte el objeto de valor determinado al tipo especificado usando el contexto y la información de referencia cultural especificados. Converts the given value object to the specified type, using the specified context and culture information.

ConvertTo(Object, Type) ConvertTo(Object, Type) ConvertTo(Object, Type) ConvertTo(Object, Type)

Convierte el objeto de valor dado al tipo especificado, utilizando los argumentos. Converts the given value object to the specified type, using the arguments.

ConvertToInvariantString(ITypeDescriptorContext, Object) ConvertToInvariantString(ITypeDescriptorContext, Object) ConvertToInvariantString(ITypeDescriptorContext, Object) ConvertToInvariantString(ITypeDescriptorContext, Object)

Convierte el valor especificado a una representación de cadena invariable de la referencia cultural, utilizando el contexto especificado. Converts the specified value to a culture-invariant string representation, using the specified context.

ConvertToInvariantString(Object) ConvertToInvariantString(Object) ConvertToInvariantString(Object) ConvertToInvariantString(Object)

Convierte el valor especificado a una representación de cadena invariable de la referencia cultural. Converts the specified value to a culture-invariant string representation.

ConvertToString(ITypeDescriptorContext, CultureInfo, Object) ConvertToString(ITypeDescriptorContext, CultureInfo, Object) ConvertToString(ITypeDescriptorContext, CultureInfo, Object) ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Convierte el valor dado a una representación de cadena, utilizando el contexto especificado y la información de referencia cultural. Converts the given value to a string representation, using the specified context and culture information.

ConvertToString(ITypeDescriptorContext, Object) ConvertToString(ITypeDescriptorContext, Object) ConvertToString(ITypeDescriptorContext, Object) ConvertToString(ITypeDescriptorContext, Object)

Convierte el valor dado a una representación de cadena, utilizando el contexto especificado. Converts the given value to a string representation, using the given context.

ConvertToString(Object) ConvertToString(Object) ConvertToString(Object) ConvertToString(Object)

Convierte el valor especificado a una representación de cadena. Converts the specified value to a string representation.

CreateInstance(IDictionary) CreateInstance(IDictionary) CreateInstance(IDictionary) CreateInstance(IDictionary)

Vuelve a crear un Object dado un conjunto de valores de propiedad del objeto. Re-creates an Object given a set of property values for the object.

CreateInstance(ITypeDescriptorContext, IDictionary) CreateInstance(ITypeDescriptorContext, IDictionary) CreateInstance(ITypeDescriptorContext, IDictionary) CreateInstance(ITypeDescriptorContext, IDictionary)

Crea una instancia del tipo al que está asociado este TypeConverter, mediante el contexto especificado, según un conjunto de valores de propiedad para el objeto. Creates an instance of the type that this TypeConverter is associated with, using the specified context, given a set of property values for the object.

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

Determina si el objeto especificado es igual al objeto actual. Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetConvertFromException(Object) GetConvertFromException(Object) GetConvertFromException(Object) GetConvertFromException(Object)

Devuelve una excepción que se debe iniciar cuando no se puede realizar una conversión. Returns an exception to throw when a conversion cannot be performed.

GetConvertToException(Object, Type) GetConvertToException(Object, Type) GetConvertToException(Object, Type) GetConvertToException(Object, Type)

Devuelve una excepción que se debe iniciar cuando no se puede realizar una conversión. Returns an exception to throw when a conversion cannot be performed.

GetCreateInstanceSupported() GetCreateInstanceSupported() GetCreateInstanceSupported() GetCreateInstanceSupported()

Devuelve un valor que indica si, al cambiar un valor en este objeto, es necesario llamar al método CreateInstance(IDictionary) para crear un nuevo valor. Returns whether changing a value on this object requires a call to the CreateInstance(IDictionary) method to create a new value.

GetCreateInstanceSupported(ITypeDescriptorContext) GetCreateInstanceSupported(ITypeDescriptorContext) GetCreateInstanceSupported(ITypeDescriptorContext) GetCreateInstanceSupported(ITypeDescriptorContext)

Devuelve un valor que indica si, al cambiar un valor en este objeto, es necesario llamar al método CreateInstance(IDictionary) para crear un nuevo valor mediante el contexto especificado. Returns whether changing a value on this object requires a call to CreateInstance(IDictionary) to create a new value, using the specified context.

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

Sirve como la función hash predeterminada. Serves as the default hash function.

(Inherited from Object)
GetProperties(ITypeDescriptorContext, Object) GetProperties(ITypeDescriptorContext, Object) GetProperties(ITypeDescriptorContext, Object) GetProperties(ITypeDescriptorContext, Object)

Devuelve una colección de propiedades para el tipo de matriz especificado por valor del parámetro, utilizando el contexto especificado. Returns a collection of properties for the type of array specified by the value parameter, using the specified context.

GetProperties(ITypeDescriptorContext, Object, Attribute[]) GetProperties(ITypeDescriptorContext, Object, Attribute[]) GetProperties(ITypeDescriptorContext, Object, Attribute[]) GetProperties(ITypeDescriptorContext, Object, Attribute[])

Devuelve una colección de propiedades para el tipo de matriz especificado por el parámetro de valor, usando el contexto y los atributos especificados. Returns a collection of properties for the type of array specified by the value parameter, using the specified context and attributes.

GetProperties(Object) GetProperties(Object) GetProperties(Object) GetProperties(Object)

Devuelve una colección de propiedades para el tipo de matriz especificado por el valor del parámetro. Returns a collection of properties for the type of array specified by the value parameter.

GetPropertiesSupported() GetPropertiesSupported() GetPropertiesSupported() GetPropertiesSupported()

Devuelve si este objeto admite propiedades. Returns whether this object supports properties.

GetPropertiesSupported(ITypeDescriptorContext) GetPropertiesSupported(ITypeDescriptorContext) GetPropertiesSupported(ITypeDescriptorContext) GetPropertiesSupported(ITypeDescriptorContext)

Devuelve si este objeto admite propiedades, mediante el contexto especificado. Returns whether this object supports properties, using the specified context.

GetStandardValues() GetStandardValues() GetStandardValues() GetStandardValues()

Devuelve una colección de valores estándar del contexto predeterminado para el tipo de datos para el que está diseñado este convertidor de tipos. Returns a collection of standard values from the default context for the data type this type converter is designed for.

GetStandardValues(ITypeDescriptorContext) GetStandardValues(ITypeDescriptorContext) GetStandardValues(ITypeDescriptorContext) GetStandardValues(ITypeDescriptorContext)

Devuelve una colección de valores estándar para el tipo de datos para el que está diseñado este convertidor de tipos cuando se proporciona con un contexto de formato. Returns a collection of standard values for the data type this type converter is designed for when provided with a format context.

GetStandardValuesExclusive() GetStandardValuesExclusive() GetStandardValuesExclusive() GetStandardValuesExclusive()

Devuelve si la colección de valores estándar devueltos por GetStandardValues() es una lista exclusiva. Returns whether the collection of standard values returned from GetStandardValues() is an exclusive list.

GetStandardValuesExclusive(ITypeDescriptorContext) GetStandardValuesExclusive(ITypeDescriptorContext) GetStandardValuesExclusive(ITypeDescriptorContext) GetStandardValuesExclusive(ITypeDescriptorContext)

Devuelve si la colección de valores estándar devueltos por GetStandardValues() es una lista exclusiva de posibles valores, utilizando el contexto especificado. Returns whether the collection of standard values returned from GetStandardValues() is an exclusive list of possible values, using the specified context.

GetStandardValuesSupported() GetStandardValuesSupported() GetStandardValuesSupported() GetStandardValuesSupported()

Devuelve si este objeto admite un conjunto estándar de valores que se pueden seleccionar de una lista. Returns whether this object supports a standard set of values that can be picked from a list.

GetStandardValuesSupported(ITypeDescriptorContext) GetStandardValuesSupported(ITypeDescriptorContext) GetStandardValuesSupported(ITypeDescriptorContext) GetStandardValuesSupported(ITypeDescriptorContext)

Devuelve si este objeto admite un conjunto estándar de valores que se pueden seleccionar de una lista, utilizando el contexto especificado. Returns whether this object supports a standard set of values that can be picked from a list, using the specified context.

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

Obtiene el Type de la instancia actual. Gets the Type of the current instance.

(Inherited from Object)
IsValid(ITypeDescriptorContext, Object) IsValid(ITypeDescriptorContext, Object) IsValid(ITypeDescriptorContext, Object) IsValid(ITypeDescriptorContext, Object)

Indica si el objeto de valor especificado es válido para este tipo y para el contexto especificado. Returns whether the given value object is valid for this type and for the specified context.

IsValid(Object) IsValid(Object) IsValid(Object) IsValid(Object)

Devuelve si el valor de objeto dado es válido para este tipo. Returns whether the given value object is valid for this type.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del Object actual. Creates a shallow copy of the current Object.

(Inherited from Object)
SortProperties(PropertyDescriptorCollection, String[]) SortProperties(PropertyDescriptorCollection, String[]) SortProperties(PropertyDescriptorCollection, String[]) SortProperties(PropertyDescriptorCollection, String[])

Ordena una colección de propiedades. Sorts a collection of properties.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual. Returns a string that represents the current object.

(Inherited from Object)

Applies to

See Also