ExpandableObjectConverter Klasa

Definicja

Udostępnia konwerter typów do konwertowania obiektów rozszerzalnych na i z różnych innych reprezentacji.

public ref class ExpandableObjectConverter : System::ComponentModel::TypeConverter
public class ExpandableObjectConverter : System.ComponentModel.TypeConverter
type ExpandableObjectConverter = class
    inherit TypeConverter
Public Class ExpandableObjectConverter
Inherits TypeConverter
Dziedziczenie
ExpandableObjectConverter
Pochodne

Przykłady

Poniższy przykład kodu konwertuje zmienną typu Margins na zmienną ciągu.

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

W poniższym przykładzie kodu pokazano, jak za pomocą NotifyParentPropertyAttribute klasy i ExpandableObjectConverter utworzyć właściwość rozszerzalną w kontrolce niestandardowej. Ten przykład kodu jest częścią większego przykładu podanego NotifyParentPropertyAttribute dla klasy.

[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

Uwagi

Ta klasa dodaje obsługę właściwości obiektu do metod i właściwości udostępnianych przez TypeConverterprogram . Aby ustawić typ właściwości rozszerzalnej w elemecie PropertyGrid, określ to TypeConverter dla standardowych implementacji GetPropertiesSupported i GetProperties. Oznacz właściwości podrzędne za pomocą elementu , NotifyParentPropertyAttribute aby zapewnić prawidłowe zachowanie w kontrolce PropertyGrid .

Uwaga

Nigdy nie należy uzyskiwać bezpośredniego dostępu do konwertera typów. Zamiast tego wywołaj odpowiedni konwerter przy użyciu polecenia TypeDescriptor. Aby uzyskać więcej informacji, zobacz przykłady w klasie bazowej TypeConverter .

Aby uzyskać więcej informacji na temat konwerterów typów, zobacz klasę TypeConverter bazową i instrukcje: implementowanie konwertera typów.

Konstruktory

ExpandableObjectConverter()

Inicjuje nowe wystąpienie klasy ExpandableObjectConverter.

Metody

CanConvertFrom(ITypeDescriptorContext, Type)

Zwraca, czy ten konwerter może przekonwertować obiekt danego typu na typ tego konwertera przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
CanConvertFrom(Type)

Zwraca, czy ten konwerter może przekonwertować obiekt danego typu na typ tego konwertera.

(Odziedziczone po TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Zwraca, czy ten konwerter może przekonwertować obiekt na określony typ przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
CanConvertTo(Type)

Zwraca, czy ten konwerter może przekonwertować obiekt na określony typ.

(Odziedziczone po TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Konwertuje dany obiekt na typ tego konwertera przy użyciu określonego kontekstu i informacji o kulturze.

(Odziedziczone po TypeConverter)
ConvertFrom(Object)

Konwertuje daną wartość na typ tego konwertera.

(Odziedziczone po TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Konwertuje dany ciąg na typ tego konwertera przy użyciu niezmiennej kultury i określonego kontekstu.

(Odziedziczone po TypeConverter)
ConvertFromInvariantString(String)

Konwertuje dany ciąg na typ tego konwertera przy użyciu niezmiennej kultury.

(Odziedziczone po TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Konwertuje dany tekst na obiekt przy użyciu określonego kontekstu i informacji o kulturze.

(Odziedziczone po TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Konwertuje dany tekst na obiekt przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
ConvertFromString(String)

Konwertuje określony tekst na obiekt.

(Odziedziczone po TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Konwertuje dany obiekt wartości na określony typ przy użyciu określonych kontekstów i informacji o kulturze.

(Odziedziczone po TypeConverter)
ConvertTo(Object, Type)

Konwertuje podany obiekt wartości na określony typ przy użyciu argumentów.

(Odziedziczone po TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Konwertuje określoną wartość na reprezentację ciągu niezmiennego kultury przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
ConvertToInvariantString(Object)

Konwertuje określoną wartość na niezmienną reprezentację ciągu kultury.

(Odziedziczone po TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Konwertuje daną wartość na reprezentację ciągu przy użyciu określonego kontekstu i informacji o kulturze.

(Odziedziczone po TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Konwertuje daną wartość na reprezentację ciągu przy użyciu danego kontekstu.

(Odziedziczone po TypeConverter)
ConvertToString(Object)

Konwertuje określoną wartość na reprezentację ciągu.

(Odziedziczone po TypeConverter)
CreateInstance(IDictionary)

Ponownie tworzy Object dany zestaw wartości właściwości dla obiektu.

(Odziedziczone po TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Tworzy wystąpienie typu skojarzonego TypeConverter z określonym kontekstem przy użyciu określonego kontekstu, biorąc pod uwagę zestaw wartości właściwości dla obiektu.

(Odziedziczone po TypeConverter)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetConvertFromException(Object)

Zwraca wyjątek zgłaszany, gdy nie można wykonać konwersji.

(Odziedziczone po TypeConverter)
GetConvertToException(Object, Type)

Zwraca wyjątek zgłaszany, gdy nie można wykonać konwersji.

(Odziedziczone po TypeConverter)
GetCreateInstanceSupported()

Zwraca, czy zmiana wartości w tym obiekcie wymaga wywołania metody w CreateInstance(IDictionary) celu utworzenia nowej wartości.

(Odziedziczone po TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Zwraca, czy zmiana wartości na tym obiekcie wymaga wywołania w celu CreateInstance(IDictionary) utworzenia nowej wartości przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetProperties(ITypeDescriptorContext, Object)

Zwraca kolekcję właściwości dla typu tablicy określonej przez parametr value przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

Pobiera kolekcję właściwości dla typu obiektu określonego przez parametr value.

GetProperties(Object)

Zwraca kolekcję właściwości dla typu tablicy określonej przez parametr value.

(Odziedziczone po TypeConverter)
GetPropertiesSupported()

Zwraca, czy ten obiekt obsługuje właściwości.

(Odziedziczone po TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Pobiera wartość wskazującą, czy ten obiekt obsługuje właściwości przy użyciu określonego kontekstu.

GetStandardValues()

Zwraca kolekcję wartości standardowych z kontekstu domyślnego dla typu danych, dla których jest przeznaczony ten konwerter typów.

(Odziedziczone po TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Zwraca kolekcję wartości standardowych dla typu danych, dla których ten konwerter typów jest przeznaczony w przypadku, gdy jest dostarczany z kontekstem formatu.

(Odziedziczone po TypeConverter)
GetStandardValuesExclusive()

Zwraca, czy kolekcja wartości standardowych zwracanych z GetStandardValues() listy jest wyłączną listą.

(Odziedziczone po TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

Zwraca, czy kolekcja wartości standardowych zwracanych z GetStandardValues() jest wyłączną listą możliwych wartości przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
GetStandardValuesSupported()

Zwraca, czy ten obiekt obsługuje standardowy zestaw wartości, które można wybrać z listy.

(Odziedziczone po TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Zwraca, czy ten obiekt obsługuje standardowy zestaw wartości, które można wybrać z listy przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IsValid(ITypeDescriptorContext, Object)

Zwraca, czy dany obiekt wartości jest prawidłowy dla tego typu i dla określonego kontekstu.

(Odziedziczone po TypeConverter)
IsValid(Object)

Zwraca, czy dany obiekt wartości jest prawidłowy dla tego typu.

(Odziedziczone po TypeConverter)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
SortProperties(PropertyDescriptorCollection, String[])

Sortuje kolekcję właściwości.

(Odziedziczone po TypeConverter)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też