ExpandableObjectConverter Classe

Definição

Fornece um conversor de tipos para converter objetos expansíveis para e a partir de várias outras representações.

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

Exemplos

O seguinte exemplo de código converte uma variável do tipo Margins numa variável string.

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

O exemplo de código seguinte demonstra como usar a NotifyParentPropertyAttribute classe e ExpandableObjectConverter para criar uma propriedade expansível num controlo personalizado. Este exemplo de código faz parte de um exemplo maior fornecido para a NotifyParentPropertyAttribute classe.

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

    [Browsable(true),
    NotifyParentProperty(true),
    EditorBrowsable(EditorBrowsableState.Always),
    DefaultValue(1)]
    public int BorderSize
    {
        get => 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 => 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

Observações

Esta classe adiciona suporte para propriedades num objeto aos métodos e propriedades fornecidos por TypeConverter. Para tornar um tipo de propriedade expansível no PropertyGrid, especifica isto TypeConverter para implementações padrão de GetPropertiesSupported e GetProperties. Marque propriedades filhas com o NotifyParentPropertyAttribute para garantir o comportamento correto num PropertyGrid controlo.

Note

Nunca deve aceder diretamente a um conversor de tipo. Em vez disso, chame o conversor apropriado usando TypeDescriptor. Para mais informações, consulte os exemplos na TypeConverter classe base.

Para mais informações sobre conversores de tipos, consulte a TypeConverter classe base e Como: Implementar um Conversor de Tipos.

Construtores

Name Description
ExpandableObjectConverter()

Inicializa uma nova instância da ExpandableObjectConverter classe.

Métodos

Name Description
CanConvertFrom(ITypeDescriptorContext, Type)

Devolve se este conversor pode converter um objeto do tipo dado para o tipo deste conversor, usando o contexto especificado.

(Herdado de TypeConverter)
CanConvertFrom(Type)

Devolve se este conversor pode converter um objeto do tipo dado para o tipo deste conversor.

(Herdado de TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Devolve se este conversor pode converter o objeto para o tipo especificado, usando o contexto especificado.

(Herdado de TypeConverter)
CanConvertTo(Type)

Devolve se este conversor pode converter o objeto para o tipo especificado.

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

Converte o objeto dado para o tipo deste conversor, usando o contexto especificado e a informação de cultura.

(Herdado de TypeConverter)
ConvertFrom(Object)

Converte o valor dado para o tipo deste conversor.

(Herdado de TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Converte a cadeia dada para o tipo deste conversor, usando a cultura invariante e o contexto especificado.

(Herdado de TypeConverter)
ConvertFromInvariantString(String)

Converte a cadeia dada para o tipo deste conversor, usando a cultura invariante.

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

Converte o texto dado num objeto, usando a informação específica de contexto e cultura.

(Herdado de TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Converte o texto dado num objeto, usando o contexto especificado.

(Herdado de TypeConverter)
ConvertFromString(String)

Converte o texto especificado num objeto.

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

Converte o objeto de valor dado para o tipo especificado, usando o contexto e a informação de cultura especificados.

(Herdado de TypeConverter)
ConvertTo(Object, Type)

Converte o objeto de valor dado para o tipo especificado, usando os argumentos.

(Herdado de TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Converte o valor especificado para uma representação de cordas invariante à cultura, usando o contexto especificado.

(Herdado de TypeConverter)
ConvertToInvariantString(Object)

Converte o valor especificado para uma representação de cordas invariante à cultura.

(Herdado de TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Converte o valor dado numa representação de cadeia, usando a informação específica de contexto e cultura.

(Herdado de TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Converte o valor dado numa representação de cadeia, usando o contexto dado.

(Herdado de TypeConverter)
ConvertToString(Object)

Converte o valor especificado numa representação de cadeia.

(Herdado de TypeConverter)
CreateInstance(IDictionary)

Recria um Object dado conjunto de valores de propriedade para o objeto.

(Herdado de TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Cria uma instância do tipo a que isto TypeConverter está associado, usando o contexto especificado, dado um conjunto de valores de propriedade para o objeto.

(Herdado de TypeConverter)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetConvertFromException(Object)

Devolve uma exceção ao lançamento quando uma conversão não pode ser realizada.

(Herdado de TypeConverter)
GetConvertToException(Object, Type)

Devolve uma exceção ao lançamento quando uma conversão não pode ser realizada.

(Herdado de TypeConverter)
GetCreateInstanceSupported()

Devolve se alterar um valor neste objeto requer uma chamada ao CreateInstance(IDictionary) método para criar um novo valor.

(Herdado de TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Devolve se alterar um valor neste objeto requer uma chamada a CreateInstance(IDictionary) para criar um novo valor, usando o contexto especificado.

(Herdado de TypeConverter)
GetHashCode()

Serve como função de hash predefinida.

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

Obtém uma coleção de propriedades para o tipo de objeto especificado pelo parâmetro de valor.

GetProperties(ITypeDescriptorContext, Object)

Devolve uma coleção de propriedades para o tipo de array especificado pelo parâmetro de valor, usando o contexto especificado.

(Herdado de TypeConverter)
GetProperties(Object)

Devolve uma coleção de propriedades para o tipo de array especificado pelo parâmetro de valor.

(Herdado de TypeConverter)
GetPropertiesSupported()

Devolve se este objeto suporta propriedades.

(Herdado de TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Obtém um valor que indica se este objeto suporta propriedades usando o contexto especificado.

GetStandardValues()

Devolve uma coleção de valores padrão do contexto padrão para o tipo de dado para o qual este conversor de tipo foi concebido.

(Herdado de TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Devolve uma coleção de valores padrão para o tipo de dado para o qual este conversor de tipo foi concebido quando fornecido com um contexto de formato.

(Herdado de TypeConverter)
GetStandardValuesExclusive()

Devolve se a coleção de valores padrão retornada de GetStandardValues() é uma lista exclusiva.

(Herdado de TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

Devolve se a coleção de valores padrão retornada de GetStandardValues() é uma lista exclusiva de valores possíveis, usando o contexto especificado.

(Herdado de TypeConverter)
GetStandardValuesSupported()

Devolve se este objeto suporta um conjunto padrão de valores que podem ser escolhidos de uma lista.

(Herdado de TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Devolve se este objeto suporta um conjunto padrão de valores que podem ser escolhidos de uma lista, usando o contexto especificado.

(Herdado de TypeConverter)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsValid(ITypeDescriptorContext, Object)

Devolve se o objeto de valor dado é válido para este tipo e para o contexto especificado.

(Herdado de TypeConverter)
IsValid(Object)

Devolve se o objeto de valor dado é válido para este tipo.

(Herdado de TypeConverter)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

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

Ordena um conjunto de propriedades.

(Herdado de TypeConverter)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também