ExpandableObjectConverter Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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) |