Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase TypeConverter

 

Publicado: noviembre de 2016

Proporciona una manera unificada de conversión de tipos de valores en otros tipos, así como para tener acceso a valores estándar y subpropiedades.

Espacio de nombres:   System.ComponentModel
Ensamblado:  System (en System.dll)

System.Object
  System.ComponentModel.TypeConverter
    Microsoft.VisualBasic.Activities.XamlIntegration.VisualBasicSettingsConverter
    Microsoft.VisualBasic.ApplicationServices.BuiltInRoleConverter
    System.Activities.XamlIntegration.AssemblyReferenceConverter
    System.Activities.XamlIntegration.DynamicUpdateMapConverter
    System.Activities.XamlIntegration.DynamicUpdateMapItemConverter
    System.Activities.XamlIntegration.ImplementationVersionConverter
    System.Activities.XamlIntegration.TypeConverterBase
    System.Activities.XamlIntegration.WorkflowIdentityConverter
    System.ComponentModel.BaseNumberConverter
    System.ComponentModel.BooleanConverter
    System.ComponentModel.CharConverter
    System.ComponentModel.CollectionConverter
    System.ComponentModel.CultureInfoConverter
    System.ComponentModel.DateTimeConverter
    System.ComponentModel.DateTimeOffsetConverter
    System.ComponentModel.EnumConverter
    System.ComponentModel.ExpandableObjectConverter
    System.ComponentModel.GuidConverter
    System.ComponentModel.MultilineStringConverter
    System.ComponentModel.NullableConverter
    System.ComponentModel.ReferenceConverter
    System.ComponentModel.StringConverter
    System.ComponentModel.TimeSpanConverter
    System.ComponentModel.TypeListConverter
    System.Configuration.ConfigurationConverterBase
    System.Diagnostics.Design.LogConverter
    System.Drawing.ColorConverter
    System.Drawing.FontConverter
    System.Drawing.FontConverter.FontNameConverter
    System.Drawing.ImageConverter
    System.Drawing.ImageFormatConverter
    System.Drawing.PointConverter
    System.Drawing.RectangleConverter
    System.Drawing.SizeConverter
    System.Drawing.SizeFConverter
    System.Resources.ResXFileRef.Converter
    System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicyTypeConverter
    System.ServiceModel.Discovery.Configuration.DiscoveryVersionConverter
    System.ServiceModel.XamlIntegration.EndpointIdentityConverter
    System.ServiceModel.XamlIntegration.ServiceXNameTypeConverter
    System.ServiceModel.XamlIntegration.XPathMessageContextTypeConverter
    System.UriTypeConverter
    System.Web.Configuration.LowerCaseStringConverter
    System.Web.UI.Design.DataBindingCollectionConverter
    System.Web.UI.Design.DataColumnSelectionConverter
    System.Web.UI.Design.DataFieldConverter
    System.Web.UI.Design.DataMemberConverter
    System.Web.UI.Design.DataSourceConverter
    System.Web.UI.Design.DataSourceViewSchemaConverter
    System.Web.UI.Design.ExpressionsCollectionConverter
    System.Web.UI.Design.MobileControls.Converters.DataFieldConverter
    System.Web.UI.Design.MobileControls.Converters.DataMemberConverter
    System.Web.UI.Design.SkinIDTypeConverter
    System.Web.UI.Design.WebControls.DataSourceIDConverter
    System.Web.UI.WebControls.FontNamesConverter
    System.Web.UI.WebControls.FontUnitConverter
    System.Web.UI.WebControls.StringArrayConverter
    System.Web.UI.WebControls.UnitConverter
    System.Windows.Controls.DataGridLengthConverter
    System.Windows.Controls.Ribbon.RibbonControlLengthConverter
    System.Windows.Controls.Ribbon.StringCollectionConverter
    System.Windows.Controls.VirtualizationCacheLengthConverter
    System.Windows.CornerRadiusConverter
    System.Windows.CultureInfoIetfLanguageTagConverter
    System.Windows.DeferrableContentConverter
    System.Windows.DialogResultConverter
    System.Windows.DurationConverter
    System.Windows.DynamicResourceExtensionConverter
    System.Windows.ExpressionConverter
    System.Windows.FigureLengthConverter
    System.Windows.FontSizeConverter
    System.Windows.FontStretchConverter
    System.Windows.FontStyleConverter
    System.Windows.FontWeightConverter
    System.Windows.Forms.AxHost.StateConverter
    System.Windows.Forms.CursorConverter
    System.Windows.Forms.DataGridPreferredColumnWidthTypeConverter
    System.Windows.Forms.DataGridViewCellStyleConverter
    System.Windows.Forms.KeysConverter
    System.Windows.Forms.Layout.TableLayoutSettingsTypeConverter
    System.Windows.Forms.LinkArea.LinkAreaConverter
    System.Windows.Forms.LinkConverter
    System.Windows.Forms.ListBindingConverter
    System.Windows.Forms.OpacityConverter
    System.Windows.Forms.PaddingConverter
    System.Windows.Forms.ScrollableControl.DockPaddingEdgesConverter
    System.Windows.Forms.SelectionRangeConverter
    System.Windows.Forms.TreeNodeConverter
    System.Windows.GridLengthConverter
    System.Windows.Input.CommandConverter
    System.Windows.Input.CursorConverter
    System.Windows.Input.InputScopeConverter
    System.Windows.Input.InputScopeNameConverter
    System.Windows.Input.KeyConverter
    System.Windows.Input.KeyGestureConverter
    System.Windows.Input.ModifierKeysConverter
    System.Windows.Input.MouseActionConverter
    System.Windows.Input.MouseGestureConverter
    System.Windows.Int32RectConverter
    System.Windows.KeySplineConverter
    System.Windows.KeyTimeConverter
    System.Windows.LengthConverter
    System.Windows.Markup.DependencyPropertyConverter
    System.Windows.Markup.EventSetterHandlerConverter
    System.Windows.Markup.NameReferenceConverter
    System.Windows.Markup.RoutedEventConverter
    System.Windows.Markup.SetterTriggerConditionValueConverter
    System.Windows.Markup.TemplateKeyConverter
    System.Windows.Markup.XmlLanguageConverter
    System.Windows.Media.Animation.RepeatBehaviorConverter
    System.Windows.Media.BrushConverter
    System.Windows.Media.CacheModeConverter
    System.Windows.Media.ColorConverter
    System.Windows.Media.Converters.BaseIListConverter
    System.Windows.Media.DoubleCollectionConverter
    System.Windows.Media.FontFamilyConverter
    System.Windows.Media.GeometryConverter
    System.Windows.Media.ImageSourceConverter
    System.Windows.Media.Int32CollectionConverter
    System.Windows.Media.MatrixConverter
    System.Windows.Media.Media3D.Matrix3DConverter
    System.Windows.Media.Media3D.Point3DCollectionConverter
    System.Windows.Media.Media3D.Point3DConverter
    System.Windows.Media.Media3D.Point4DConverter
    System.Windows.Media.Media3D.QuaternionConverter
    System.Windows.Media.Media3D.Rect3DConverter
    System.Windows.Media.Media3D.Size3DConverter
    System.Windows.Media.Media3D.Vector3DCollectionConverter
    System.Windows.Media.Media3D.Vector3DConverter
    System.Windows.Media.PathFigureCollectionConverter
    System.Windows.Media.PixelFormatConverter
    System.Windows.Media.PointCollectionConverter
    System.Windows.Media.RequestCachePolicyConverter
    System.Windows.Media.TransformConverter
    System.Windows.Media.VectorCollectionConverter
    System.Windows.PointConverter
    System.Windows.PropertyPathConverter
    System.Windows.RectConverter
    System.Windows.SizeConverter
    System.Windows.StrokeCollectionConverter
    System.Windows.TemplateBindingExpressionConverter
    System.Windows.TemplateBindingExtensionConverter
    System.Windows.TextDecorationCollectionConverter
    System.Windows.ThicknessConverter
    System.Windows.VectorConverter
    System.Workflow.ComponentModel.Design.ActivityBindTypeConverter
    System.Xaml.Schema.XamlTypeTypeConverter

[ComVisibleAttribute(true)]
[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
public class TypeConverter

NombreDescripción
System_CAPS_pubmethodTypeConverter()

Inicializa una nueva instancia de la clase TypeConverter.

NombreDescripción
System_CAPS_pubmethodCanConvertFrom(ITypeDescriptorContext, Type)

Devuelve si este convertidor puede convertir un objeto del tipo especificado al tipo de este convertidor, mediante el contexto especificado.

System_CAPS_pubmethodCanConvertFrom(Type)

Devuelve si este convertidor puede convertir un objeto del tipo dado al tipo de este convertidor.

System_CAPS_pubmethodCanConvertTo(ITypeDescriptorContext, Type)

Devuelve si este convertidor puede convertir el objeto al tipo especificado, con el contexto especificado.

System_CAPS_pubmethodCanConvertTo(Type)

Devuelve si este convertidor puede convertir el objeto al tipo especificado.

System_CAPS_pubmethodConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Convierte el objeto determinado al tipo de este convertidor usando el contexto especificado y la información de referencia cultural.

System_CAPS_pubmethodConvertFrom(Object)

Convierte el valor dado al tipo de este convertidor.

System_CAPS_pubmethodConvertFromInvariantString(ITypeDescriptorContext, String)

Convierte la cadena especificada en el tipo de este convertidor, utilizando la referencia cultural y el contexto especificado.

System_CAPS_pubmethodConvertFromInvariantString(String)

Convierte la cadena dada al tipo de este convertidor, utilizando la referencia cultural invariable.

System_CAPS_pubmethodConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Convierte el texto dado a un objeto, utilizando la información de contexto y la referencia cultural especificada.

System_CAPS_pubmethodConvertFromString(ITypeDescriptorContext, String)

Convierte el texto dado a un objeto, utilizando el contexto especificado.

System_CAPS_pubmethodConvertFromString(String)

Convierte el texto especificado en un objeto.

System_CAPS_pubmethodConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Convierte el objeto de valor determinado al tipo especificado usando el contexto y la información de referencia cultural especificados.

System_CAPS_pubmethodConvertTo(Object, Type)

Convierte el objeto de valor dado al tipo especificado, utilizando los argumentos.

System_CAPS_pubmethodConvertToInvariantString(ITypeDescriptorContext, Object)

Convierte el valor especificado en una representación de cadena de la referencia cultural, utilizando el contexto especificado.

System_CAPS_pubmethodConvertToInvariantString(Object)

Convierte el valor especificado en una representación de cadena de la referencia cultural.

System_CAPS_pubmethodConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Convierte el valor dado a una representación de cadena, utilizando la información de contexto y la referencia cultural especificada.

System_CAPS_pubmethodConvertToString(ITypeDescriptorContext, Object)

Convierte el valor dado a una representación de cadena, utilizando el contexto especificado.

System_CAPS_pubmethodConvertToString(Object)

Convierte el valor especificado en una representación de cadena.

System_CAPS_pubmethodCreateInstance(IDictionary)

Vuelve a crear una Object dado un conjunto de valores de propiedad para el objeto.

System_CAPS_pubmethodCreateInstance(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.

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_protmethodGetConvertFromException(Object)

Devuelve una excepción que se debe iniciar cuando no se puede realizar una conversión.

System_CAPS_protmethodGetConvertToException(Object, Type)

Devuelve una excepción que se debe iniciar cuando no se puede realizar una conversión.

System_CAPS_pubmethodGetCreateInstanceSupported()

Devuelve si al cambiar un valor en este objeto requiere una llamada a la CreateInstance método para crear un nuevo valor.

System_CAPS_pubmethodGetCreateInstanceSupported(ITypeDescriptorContext)

Devuelve si el cambio de un valor en este objeto requiere una llamada a CreateInstance para crear un nuevo valor, mediante el contexto especificado.

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetProperties(ITypeDescriptorContext, Object)

Devuelve una colección de propiedades para el tipo de matriz especificado por el parámetro de valor, utilizando el contexto especificado.

System_CAPS_pubmethodGetProperties(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.

System_CAPS_pubmethodGetProperties(Object)

Devuelve una colección de propiedades para el tipo de matriz especificado por el valor del parámetro.

System_CAPS_pubmethodGetPropertiesSupported()

Devuelve si este objeto admite propiedades.

System_CAPS_pubmethodGetPropertiesSupported(ITypeDescriptorContext)

Devuelve si este objeto admite propiedades, mediante el contexto especificado.

System_CAPS_pubmethodGetStandardValues()

Devuelve una colección de valores estándar del contexto predeterminado para el tipo de datos que está diseñado este convertidor de tipos para.

System_CAPS_pubmethodGetStandardValues(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.

System_CAPS_pubmethodGetStandardValuesExclusive()

Devuelve si la colección de valores estándar devueltos por GetStandardValues es una lista exclusiva.

System_CAPS_pubmethodGetStandardValuesExclusive(ITypeDescriptorContext)

Devuelve si la colección de valores estándar devueltos por GetStandardValues es una lista exclusiva de posibles valores, utilizando el contexto especificado.

System_CAPS_pubmethodGetStandardValuesSupported()

Devuelve si este objeto admite un conjunto estándar de valores que se pueden seleccionar de una lista.

System_CAPS_pubmethodGetStandardValuesSupported(ITypeDescriptorContext)

Devuelve si este objeto admite un conjunto estándar de valores que se pueden seleccionar de una lista, utilizando el contexto especificado.

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodIsValid(ITypeDescriptorContext, Object)

Indica si el objeto de valor especificado es válido para este tipo y para el contexto especificado.

System_CAPS_pubmethodIsValid(Object)

Devuelve si el objeto de valor especificado es válido para este tipo.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_protmethodSortProperties(PropertyDescriptorCollection, String[])

Ordena una colección de propiedades.

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

El tipo de convertidor más común es que convierte a y desde una representación de texto. El convertidor de tipos para una clase está enlazado a la clase con un 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.

System_CAPS_noteNota

Para los fines de sistema de tipo general, no tener acceso a un convertidor de tipos directamente. En su lugar, tener acceso al convertidor apropiado utilizando TypeDescriptor. Para obtener más información, vea los ejemplos de código proporcionados.

Nota   para propósitos de XAML, un procesador XAML busca el TypeConverterAttribute directamente, en lugar de pasar por TypeDescriptor. Para los casos donde desea una TypeDescriptor instancia desde el código, o donde 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.

Las clases derivadas de TypeConverter se suele hacer referencia como parte del cómo un procesador XAML convierte un valor de texto de inicialización o el atributo de marcado (que es en sí mismo una cadena) y genera un objeto para una representación en tiempo de ejecución. Los autores de tipo personalizados que intentan admitir un comportamiento de conversión de tipos para XAML normalmente implementan una TypeConverter clase que admita su propia y exclusiva ConvertFrom comportamiento de una cadena. Este comportamiento permite la conversión de tipo de la cadena proporcionada como un valor de atributo XAML y proporciona un procesador de XAML con la compatibilidad necesaria para crear un objeto de la cadena, por lo que el objeto se puede producir en un gráfico de objetos analizado. Tipos personalizados o los miembros de tipos personalizados se indican aplicando TypeConverterAttribute a las definiciones, con el atributo de referencia personalizado TypeConverter implementación. Para obtener más información, consulta Type Converters for XAML Overview.

Notas para desarrolladores de herederos:

Heredar de TypeConverter para implementar sus propios requisitos de conversión. Al heredar de esta clase, puede invalidar los métodos siguientes:

System_CAPS_noteNota

El tipo derivado esté marcado como internal o private, pero se puede crear una instancia de su tipo con la TypeDescriptor clase. No escriba código inseguro pensando que el llamador es de confianza. En su lugar, suponga que los llamadores pueden crear instancias de su tipo en confianza parcial.

Para obtener más información sobre convertidores de tipos para fines generales (distintos de XAML), consulte How to: Implement a Type Converter o Generalized Type Conversion.

En el ejemplo de código siguiente se muestra cómo crear una instancia de un convertidor de tipos y enlazarla a una clase. La clase que implementa el convertidor, MyClassConverter, debe heredar de la TypeConverter clase.

[TypeConverter(typeof(MyClassConverter))]
 public class MyClass {
    // Insert code here.
}

Cuando tenga una propiedad que tiene una enumeración, compruebe si un valor de enumeración es válido antes de establecer la propiedad. El siguiente ejemplo de código requiere que una enumeración denominada MyPropertyEnum se ha declarado.

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

Otro uso del convertidor de tipo común es convertir un objeto en una cadena. En el ejemplo de código siguiente se imprime el nombre de la Color almacenado en la variable c.

Color c = Color.Red;
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));

También puede utilizar un convertidor de tipos para convertir un valor desde su nombre, como se muestra en el ejemplo de código siguiente.

Color c = (Color)TypeDescriptor.GetConverter(typeof(Color)).ConvertFromString("Red");

En el siguiente ejemplo de código, puede utilizar un convertidor de tipos para imprimir el conjunto de valores estándar que admite el objeto.

foreach(Color c in TypeDescriptor.GetConverter(typeof(Color)).GetStandardValues()) {
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));
 }

.NET Framework
Disponible desde 1.1
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: