ExpandableObjectConverter Clase

Definición

Proporciona un convertidor de tipos para convertir objetos expansibles a otras representaciones y desde otras representaciones.

public ref class ExpandableObjectConverter : System::ComponentModel::TypeConverter
public class ExpandableObjectConverter : System.ComponentModel.TypeConverter
type ExpandableObjectConverter = class
    inherit TypeConverter
Public Class ExpandableObjectConverter
Inherits TypeConverter
Herencia
ExpandableObjectConverter
Derivado

Ejemplos

En el ejemplo de código siguiente se convierte una variable de tipo Margins en una variable de cadena.

String^ strM = "1,2,3,4";
System::Drawing::Printing::Margins^ m = gcnew System::Drawing::Printing::Margins( 1,2,3,4 );
Console::WriteLine( TypeDescriptor::GetConverter( strM )->CanConvertTo( System::Drawing::Printing::Margins::typeid ) );
Console::WriteLine( TypeDescriptor::GetConverter( m )->ConvertToString( m ) );
string strM="1,2,3,4";
System.Drawing.Printing.Margins  m= new System.Drawing.Printing.Margins(1,2,3,4);
Console.WriteLine(TypeDescriptor.GetConverter(strM).CanConvertTo(typeof(System.Drawing.Printing.Margins))); 
Console.WriteLine(TypeDescriptor.GetConverter(m).ConvertToString(m));
Dim strM As String
strM = "1,2,3,4"
            Dim m As New System.Drawing.Printing.Margins(1, 2, 3, 4)
Console.WriteLine(TypeDescriptor.GetConverter(strM).CanConvertTo(GetType(System.Drawing.Printing.Margins)))
Console.WriteLine(TypeDescriptor.GetConverter(m).ConvertToString(m))

En el ejemplo de código siguiente se muestra cómo usar y NotifyParentPropertyAttribute la ExpandableObjectConverter clase para crear una propiedad expandible en un control personalizado. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la NotifyParentPropertyAttribute clase .

[TypeConverter(typeof(BorderAppearanceConverter))]
public class BorderAppearance
{
    private int borderSizeValue = 1;
    private Color borderColorValue = Color.Empty;

    [Browsable(true),
    NotifyParentProperty(true),
    EditorBrowsable(EditorBrowsableState.Always),
    DefaultValue(1)]
    public int BorderSize
    {
        get
        {
            return borderSizeValue;
        }
        set
        {
            if (value < 0)
            {
                throw new ArgumentOutOfRangeException(
                    "BorderSize",
                    value,
                    "must be >= 0");
            }

            if (borderSizeValue != value)
            {
                borderSizeValue = value;
            }
        }
    }

    [Browsable(true)]
    [NotifyParentProperty(true)]
    [EditorBrowsable(EditorBrowsableState.Always)]
    [DefaultValue(typeof(Color), "")]
    public Color BorderColor
    {
        get
        {
            return borderColorValue;
        }
        set
        {
            if (value.Equals(Color.Transparent))
            {
                throw new NotSupportedException("Transparent colors are not supported.");
            }

            if (borderColorValue != value)
            {
                borderColorValue = value;
            }
        }
    }
}
<TypeConverter(GetType(BorderAppearanceConverter))>  _
Public Class BorderAppearance
    Private borderSizeValue As Integer = 1
    Private borderColorValue As Color = Color.Empty
    
    
    <Browsable(True), NotifyParentProperty(True), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(1)>  _
    Public Property BorderSize() As Integer 
        Get
            Return borderSizeValue
        End Get
        Set
            If value < 0 Then
                Throw New ArgumentOutOfRangeException("BorderSize", value, "must be >= 0")
            End If
            
            If borderSizeValue <> value Then
                borderSizeValue = value
            End If
        End Set
    End Property
    
    
    <Browsable(True), NotifyParentProperty(True), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(GetType(Color), "")>  _
    Public Property BorderColor() As Color 
        Get
            Return borderColorValue
        End Get
        Set
            If value.Equals(Color.Transparent) Then
                Throw New NotSupportedException("Transparent colors are not supported.")
            End If
            
            If borderColorValue <> value Then
                borderColorValue = value
            End If
        End Set
    End Property
End Class

Comentarios

Esta clase agrega compatibilidad con las propiedades de un objeto a los métodos y propiedades proporcionados por TypeConverter. Para que un tipo de propiedad se pueda expandir en PropertyGrid, especifique esto TypeConverter para las implementaciones estándar de GetPropertiesSupported y GetProperties. Marque las propiedades secundarias con NotifyParentPropertyAttribute para garantizar un comportamiento correcto en un PropertyGrid control .

Nota

Nunca debe acceder directamente a un convertidor de tipos. En su lugar, llame al convertidor adecuado mediante TypeDescriptor. Para obtener más información, vea los ejemplos de la TypeConverter clase base.

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

Constructores

ExpandableObjectConverter()

Inicializa una nueva instancia de la clase ExpandableObjectConverter.

Métodos

CanConvertFrom(ITypeDescriptorContext, Type)

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

(Heredado de TypeConverter)
CanConvertFrom(Type)

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

(Heredado de TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

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

(Heredado de TypeConverter)
CanConvertTo(Type)

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

(Heredado de TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Convierte el objeto dado al tipo de este convertidor, utilizando el contexto y la información de referencia cultural especificados.

(Heredado de TypeConverter)
ConvertFrom(Object)

Convierte el valor especificado en el tipo de este convertidor.

(Heredado de TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

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

(Heredado de TypeConverter)
ConvertFromInvariantString(String)

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

(Heredado de TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

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

(Heredado de TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

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

(Heredado de TypeConverter)
ConvertFromString(String)

Convierte el texto especificado a un objeto.

(Heredado de TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Convierte el objeto de valor dado al tipo especificado, utilizando el contexto y la información de referencia cultural especificados.

(Heredado de TypeConverter)
ConvertTo(Object, Type)

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

(Heredado de TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

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

(Heredado de TypeConverter)
ConvertToInvariantString(Object)

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

(Heredado de TypeConverter)
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.

(Heredado de TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

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

(Heredado de TypeConverter)
ConvertToString(Object)

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

(Heredado de TypeConverter)
CreateInstance(IDictionary)

Vuelve a crear un Object dado un conjunto de valores de propiedad del objeto.

(Heredado de TypeConverter)
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.

(Heredado de TypeConverter)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetConvertFromException(Object)

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

(Heredado de TypeConverter)
GetConvertToException(Object, Type)

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

(Heredado de TypeConverter)
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.

(Heredado de TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

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

(Heredado de TypeConverter)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de 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.

(Heredado de TypeConverter)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

Obtiene una colección de propiedades para el tipo de objeto especificado por el parámetro de valor.

GetProperties(Object)

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

(Heredado de TypeConverter)
GetPropertiesSupported()

Devuelve si este objeto admite propiedades.

(Heredado de TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Obtiene un valor que indica si el objeto admite propiedades que utilicen el contexto especificado.

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.

(Heredado de TypeConverter)
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.

(Heredado de TypeConverter)
GetStandardValuesExclusive()

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

(Heredado de TypeConverter)
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.

(Heredado de TypeConverter)
GetStandardValuesSupported()

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

(Heredado de TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

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

(Heredado de TypeConverter)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsValid(ITypeDescriptorContext, Object)

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

(Heredado de TypeConverter)
IsValid(Object)

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

(Heredado de TypeConverter)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
SortProperties(PropertyDescriptorCollection, String[])

Ordena una colección de propiedades.

(Heredado de TypeConverter)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también