ExpandableObjectConverter Classe

Definição

Fornece um conversor de tipo para converter objetos expansíveis de e para diversas 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 do 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 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))

O exemplo de código a seguir demonstra como usar a NotifyParentPropertyAttribute classe e ExpandableObjectConverter 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
{
    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

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 PropertyGrid, especifique isso TypeConverter para implementações padrão de GetPropertiesSupported e GetProperties. Marque 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 e Como implementar um conversor de tipo.

Construtores

ExpandableObjectConverter()

Inicializa uma nova instância da classe ExpandableObjectConverter.

Métodos

CanConvertFrom(ITypeDescriptorContext, Type)

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

(Herdado de TypeConverter)
CanConvertFrom(Type)

Retorna se este conversor pode converter um objeto do tipo indicado para o tipo deste conversor.

(Herdado de TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

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

(Herdado de TypeConverter)
CanConvertTo(Type)

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

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

Converte o objeto determinado para o tipo deste conversor, usando o contexto especificado e as informações da cultura.

(Herdado de TypeConverter)
ConvertFrom(Object)

Converte o valor fornecido noo tipo deste conversor.

(Herdado de TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Converte a cadeia de caracteres fornecida para o tipo deste conversor usando a cultura invariável e o contexto especificado.

(Herdado de TypeConverter)
ConvertFromInvariantString(String)

Converte a cadeia de caracteres fornecida para o tipo deste conversor usando a cultura invariável.

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

Converte o texto fornecido em um objeto, usando o contexto e a informação de cultura especificados.

(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 determinado para o tipo especificado, usando o contexto especificado e as informações da cultura.

(Herdado de TypeConverter)
ConvertTo(Object, Type)

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

(Herdado de TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Converte o valor especificado em uma representação de cadeia de caracteres que não varia de acordo com a cultura, usando o contexto especificado.

(Herdado de TypeConverter)
ConvertToInvariantString(Object)

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

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

Converte o valor especificado 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 especificado 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 dado um conjunto de valores de propriedade do objeto.

(Herdado de TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Cria uma instância do tipo ao qual esse 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 puder ser executada.

(Herdado de TypeConverter)
GetConvertToException(Object, Type)

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

(Herdado de TypeConverter)
GetCreateInstanceSupported()

Retorna se a alteração de um valor neste objeto requer uma chamada ao método CreateInstance(IDictionary) para criar um novo valor.

(Herdado de TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Retorna se a alteração de um valor neste objeto requer uma chamada para CreateInstance(IDictionary) para 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)

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(ITypeDescriptorContext, Object, Attribute[])

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

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 este objeto dá suporte a propriedades.

(Herdado de TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Obtém um valor que indica se este objeto dá suporte às 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 criado.

(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 criado quando fornecido com um contexto de formato.

(Herdado de TypeConverter)
GetStandardValuesExclusive()

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

(Herdado de TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

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

(Herdado de TypeConverter)
GetStandardValuesSupported()

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

(Herdado de TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Retorna se o objeto dá suporte a um conjunto de valores padrão 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)

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 especificado é válido para esse tipo.

(Herdado de TypeConverter)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(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