ExpandableObjectConverter Classe

Definizione

Fornisce un convertitore di tipi per convertire oggetti espandibili in e da numerose altre rappresentazioni.

public ref class ExpandableObjectConverter : System::ComponentModel::TypeConverter
public class ExpandableObjectConverter : System.ComponentModel.TypeConverter
type ExpandableObjectConverter = class
    inherit TypeConverter
Public Class ExpandableObjectConverter
Inherits TypeConverter
Ereditarietà
ExpandableObjectConverter
Derivato

Esempio

Nell'esempio di codice seguente viene convertita una variabile di tipo Margins in una variabile stringa.

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

Nell'esempio di codice seguente viene illustrato come usare NotifyParentPropertyAttribute e la ExpandableObjectConverter classe per creare una proprietà espandibile in un controllo personalizzato. Questo esempio di codice fa parte di un esempio più ampio fornito per la 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

Commenti

Questa classe aggiunge il supporto per le proprietà di un oggetto ai metodi e alle proprietà fornite da TypeConverter. Per rendere espandibile un tipo di proprietà in PropertyGrid, specificarlo TypeConverter per le implementazioni standard di GetPropertiesSupported e GetProperties. Contrassegnare le proprietà figlio con per NotifyParentPropertyAttribute garantire il comportamento corretto in un PropertyGrid controllo .

Nota

Non è mai consigliabile accedere direttamente a un convertitore di tipi. Chiamare invece il convertitore appropriato usando TypeDescriptor. Per altre informazioni, vedere gli esempi nella TypeConverter classe base.

Per altre informazioni sui convertitori di tipi, vedere la TypeConverter classe base e Procedura: Implementare un convertitore di tipi.

Costruttori

ExpandableObjectConverter()

Inizializza una nuova istanza della classe ExpandableObjectConverter.

Metodi

CanConvertFrom(ITypeDescriptorContext, Type)

Restituisce un valore che indica se il convertitore può convertire un oggetto del tipo specificato nel tipo di questo convertitore, usando il contesto specificato.

(Ereditato da TypeConverter)
CanConvertFrom(Type)

Indica se questo convertitore può convertire un oggetto del tipo specificato nel tipo di questo convertitore.

(Ereditato da TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Restituisce un valore che indica se il convertitore può convertire l'oggetto nel tipo specificato usando il contesto specificato.

(Ereditato da TypeConverter)
CanConvertTo(Type)

Indica se questo convertitore può convertire l'oggetto nel tipo specificato.

(Ereditato da TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Converte l'oggetto specificato nel tipo del convertitore mediante il contesto e le informazioni sulle impostazioni cultura specificati.

(Ereditato da TypeConverter)
ConvertFrom(Object)

Converte il valore specificato nel tipo di questo convertitore.

(Ereditato da TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Converte la stringa specificata nel tipo di questo convertitore, utilizzando le impostazioni cultura inglesi e il contesto specificato.

(Ereditato da TypeConverter)
ConvertFromInvariantString(String)

Converte la stringa specificata nel tipo di questo convertitore, utilizzando le impostazioni cultura invarianti.

(Ereditato da TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Converte il testo specificato in un oggetto, utilizzando il contesto specificato e le informazioni sulle impostazioni cultura.

(Ereditato da TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Converte il testo specificato in un oggetto, utilizzando il contesto specificato.

(Ereditato da TypeConverter)
ConvertFromString(String)

Converte il testo specificato in un oggetto.

(Ereditato da TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Converte l'oggetto valore specificato nel tipo del convertitore mediante il contesto e le informazioni sulle impostazioni cultura specificati.

(Ereditato da TypeConverter)
ConvertTo(Object, Type)

Converte l'oggetto valore specificato nel tipo specificato, utilizzando gli argomenti.

(Ereditato da TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Converte il valore specificato in una rappresentazione in formato stringa indipendente dalle impostazioni cultura, utilizzando il contesto specificato.

(Ereditato da TypeConverter)
ConvertToInvariantString(Object)

Converte il valore specificato in una rappresentazione in formato stringa indipendente dalle impostazioni cultura.

(Ereditato da TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Converte il valore specificato in una rappresentazione in formato stringa, utilizzando il contesto specificato e le informazioni sulle impostazioni cultura.

(Ereditato da TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Converte il valore specificato in una rappresentazione in formato stringa, utilizzando il contesto specificato.

(Ereditato da TypeConverter)
ConvertToString(Object)

Converte il valore specificato in una rappresentazione in formato stringa.

(Ereditato da TypeConverter)
CreateInstance(IDictionary)

Ricrea un oggetto Object in base a un set di valori di proprietà dell'oggetto.

(Ereditato da TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Crea un'istanza del tipo a cui questo oggetto TypeConverter è associato, usando il contesto specificato, dato un set di valori di proprietà per l'oggetto.

(Ereditato da TypeConverter)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetConvertFromException(Object)

Restituisce un'eccezione da generare quando non è possibile eseguire una conversione.

(Ereditato da TypeConverter)
GetConvertToException(Object, Type)

Restituisce un'eccezione da generare quando non è possibile eseguire una conversione.

(Ereditato da TypeConverter)
GetCreateInstanceSupported()

Restituisce se la modifica di un valore su questo oggetto richiede una chiamata al metodo CreateInstance(IDictionary) per creare un nuovo valore.

(Ereditato da TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Restituisce un valore che indica se la modifica di un valore di questo oggetto richiede una chiamata a CreateInstance(IDictionary) per creare un nuovo valore, usando il contesto specificato.

(Ereditato da TypeConverter)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetProperties(ITypeDescriptorContext, Object)

Restituisce un insieme di proprietà per il tipo di matrice specificato dal parametro del valore utilizzando il contesto specificato.

(Ereditato da TypeConverter)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

Ottiene un insieme di proprietà per il tipo di oggetto specificato dal parametro del valore.

GetProperties(Object)

Restituisce una raccolta di proprietà per il tipo di matrice specificato dal parametro value.

(Ereditato da TypeConverter)
GetPropertiesSupported()

Indica se questo oggetto supporta le proprietà.

(Ereditato da TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Ottiene un valore che indica se l'oggetto supporta le proprietà utilizzando il contesto specificato.

GetStandardValues()

Restituisce un insieme di valori standard dal contesto predefinito del tipo di dati per il quale è stato progettato questo convertitore di tipi.

(Ereditato da TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Restituisce una raccolta di valori standard per il tipo di dati per cui è progettato questo convertitore di tipo, quando viene fornito un contesto di formato.

(Ereditato da TypeConverter)
GetStandardValuesExclusive()

Indica se la raccolta di valori standard restituiti dal metodo GetStandardValues() rappresenta un elenco esclusivo.

(Ereditato da TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

Indica se la raccolta di valori standard restituiti da GetStandardValues() rappresenta un elenco esclusivo di valori possibili utilizzando il contesto specificato.

(Ereditato da TypeConverter)
GetStandardValuesSupported()

Indica se questo oggetto supporta un set standard di valori selezionabili da un elenco.

(Ereditato da TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Indica se questo oggetto supporta un set standard di valori selezionabili da un elenco utilizzando il contesto specificato.

(Ereditato da TypeConverter)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsValid(ITypeDescriptorContext, Object)

Indica se l'oggetto valore specificato è valido per il tipo e per il contesto specificato.

(Ereditato da TypeConverter)
IsValid(Object)

Indica se l'oggetto valore specificato è valido per questo tipo.

(Ereditato da TypeConverter)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SortProperties(PropertyDescriptorCollection, String[])

Ordina un insieme di proprietà.

(Ereditato da TypeConverter)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche