ExpandableObjectConverter Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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(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
{
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 e Como implementar um conversor de tipo.
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 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, 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 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) |