ExpandableObjectConverter Classe

Definição

Fornece um conversor de tipo para converter objetos expansíveis de e para 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 exemplo de código a seguir converte uma variável de tipo Margins em uma variável de cadeia de caracteres.

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 a seguir demonstra como usar a classe e a NotifyParentPropertyAttributeExpandableObjectConverter classe para criar uma propriedade expansível em um controle 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

Comentários

Essa classe adiciona suporte para propriedades em um objeto aos métodos e propriedades fornecidos por TypeConverter. Para tornar um tipo de propriedade expansível no , especifique-o PropertyGridTypeConverter para implementações padrão de GetPropertiesSupported e GetProperties. Marque as propriedades filho com o para garantir o NotifyParentPropertyAttribute comportamento correto em um PropertyGrid controle.

Observação

Você nunca deve acessar um conversor de tipo diretamente. Em vez disso, chame o conversor apropriado usando TypeDescriptor. Para obter mais informações, consulte os exemplos na TypeConverter classe base.

Para obter mais informações sobre conversores de tipo, consulte a TypeConverter classe base.

Construtores

Nome Description
ExpandableObjectConverter()

Inicializa uma nova instância da classe ExpandableObjectConverter.

Métodos

Nome Description
CanConvertFrom(ITypeDescriptorContext, Type)

Retorna se esse conversor pode converter um objeto do tipo fornecido para o tipo desse conversor usando o contexto especificado.

(Herdado de TypeConverter)
CanConvertFrom(Type)

Retorna se esse conversor pode converter um objeto do tipo fornecido no tipo desse conversor.

(Herdado de TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Retorna se esse conversor pode converter o objeto no tipo especificado, usando o contexto especificado.

(Herdado de TypeConverter)
CanConvertTo(Type)

Retorna se esse conversor pode converter o objeto no tipo especificado.

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

Converte o objeto fornecido no tipo desse conversor, usando as informações de contexto e cultura especificadas.

(Herdado de TypeConverter)
ConvertFrom(Object)

Converte o valor fornecido no tipo desse conversor.

(Herdado de TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Converte a cadeia de caracteres fornecida no tipo desse conversor, usando a cultura invariável e o contexto especificado.

(Herdado de TypeConverter)
ConvertFromInvariantString(String)

Converte a cadeia de caracteres fornecida no tipo desse conversor, usando a cultura invariável.

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

Converte o texto fornecido em um objeto, usando as informações de contexto e cultura especificadas.

(Herdado de TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Converte o texto fornecido em um objeto usando o contexto especificado.

(Herdado de TypeConverter)
ConvertFromString(String)

Converte o texto especificado em um objeto.

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

Converte o objeto de valor fornecido no tipo especificado, usando as informações de contexto e cultura especificadas.

(Herdado de TypeConverter)
ConvertTo(Object, Type)

Converte o objeto de valor fornecido no tipo especificado, usando os argumentos.

(Herdado de TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Converte o valor especificado em uma representação de cadeia de caracteres invariável de cultura usando o contexto especificado.

(Herdado de TypeConverter)
ConvertToInvariantString(Object)

Converte o valor especificado em uma representação de cadeia de caracteres invariável por cultura.

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

Converte o valor fornecido em uma representação de cadeia de caracteres usando as informações de contexto e cultura especificadas.

(Herdado de TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Converte o valor fornecido em uma representação de cadeia de caracteres usando o contexto fornecido.

(Herdado de TypeConverter)
ConvertToString(Object)

Converte o valor especificado em uma representação de cadeia de caracteres.

(Herdado de TypeConverter)
CreateInstance(IDictionary)

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

(Herdado de TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Cria uma instância do tipo ao qual isso 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)

Retorna uma exceção a ser gerada quando uma conversão não pode ser executada.

(Herdado de TypeConverter)
GetConvertToException(Object, Type)

Retorna uma exceção a ser gerada quando uma conversão não pode ser executada.

(Herdado de TypeConverter)
GetCreateInstanceSupported()

Retorna se alterar um valor nesse objeto requer uma chamada para o CreateInstance(IDictionary) método para criar um novo valor.

(Herdado de TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

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

(Herdado de TypeConverter)
GetHashCode()

Serve como a função de hash padrão.

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

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

(Herdado de TypeConverter)
GetProperties(Object)

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

(Herdado de TypeConverter)
GetPropertiesSupported()

Retorna se esse objeto dá suporte a propriedades.

(Herdado de TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Obtém um valor que indica se esse objeto dá suporte a propriedades usando o contexto especificado.

GetStandardValues()

Retorna uma coleção de valores padrão do contexto padrão para o tipo de dados para o qual esse conversor de tipo foi projetado.

(Herdado de TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Retorna uma coleção de valores padrão para o tipo de dados para o qual esse conversor de tipo foi projetado quando fornecido com um contexto de formato.

(Herdado de TypeConverter)
GetStandardValuesExclusive()

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

(Herdado de TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

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

(Herdado de TypeConverter)
GetStandardValuesSupported()

Retorna se esse objeto dá suporte a um conjunto padrão de valores que podem ser escolhidos em uma lista.

(Herdado de TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Retorna se esse objeto dá suporte a um conjunto padrão de valores que podem ser escolhidos em uma lista, usando o contexto especificado.

(Herdado de TypeConverter)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsValid(ITypeDescriptorContext, Object)

Retorna se o objeto de valor fornecido é válido para esse tipo e para o contexto especificado.

(Herdado de TypeConverter)
IsValid(Object)

Retorna se o objeto de valor fornecido é válido para esse tipo.

(Herdado de TypeConverter)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

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

Classifica uma coleção de propriedades.

(Herdado de TypeConverter)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também