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