Udostępnij przez


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
Pochodny

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(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 udostępnionego NotifyParentPropertyAttribute dla klasy .

[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

Uwagi

Ta klasa dodaje obsługę właściwości obiektu do metod i właściwości dostarczonych przez TypeConverterprogram . Aby rozszerzyć typ właściwości w PropertyGridpliku , określ ten TypeConverter typ dla standardowych implementacji elementów 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.

Konstruktorów

Nazwa Opis
ExpandableObjectConverter()

Inicjuje nowe wystąpienie klasy ExpandableObjectConverter.

Metody

Nazwa Opis
CanConvertFrom(ITypeDescriptorContext, Type)

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

(Dziedziczone od TypeConverter)
CanConvertFrom(Type)

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

(Dziedziczone od TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

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

(Dziedziczone od TypeConverter)
CanConvertTo(Type)

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

(Dziedziczone od TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Konwertuje dany obiekt na typ tego konwertera przy użyciu określonych informacji o kontekście i kulturze.

(Dziedziczone od TypeConverter)
ConvertFrom(Object)

Konwertuje daną wartość na typ tego konwertera.

(Dziedziczone od TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

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

(Dziedziczone od TypeConverter)
ConvertFromInvariantString(String)

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

(Dziedziczone od TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

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

(Dziedziczone od TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

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

(Dziedziczone od TypeConverter)
ConvertFromString(String)

Konwertuje określony tekst na obiekt.

(Dziedziczone od TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

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

(Dziedziczone od TypeConverter)
ConvertTo(Object, Type)

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

(Dziedziczone od TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

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

(Dziedziczone od TypeConverter)
ConvertToInvariantString(Object)

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

(Dziedziczone od TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

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

(Dziedziczone od TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

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

(Dziedziczone od TypeConverter)
ConvertToString(Object)

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

(Dziedziczone od TypeConverter)
CreateInstance(IDictionary)

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

(Dziedziczone od TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

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

(Dziedziczone od TypeConverter)
Equals(Object)

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

(Dziedziczone od Object)
GetConvertFromException(Object)

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

(Dziedziczone od TypeConverter)
GetConvertToException(Object, Type)

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

(Dziedziczone od TypeConverter)
GetCreateInstanceSupported()

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

(Dziedziczone od TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

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

(Dziedziczone od TypeConverter)
GetHashCode()

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

(Dziedziczone od Object)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

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

GetProperties(ITypeDescriptorContext, Object)

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

(Dziedziczone od TypeConverter)
GetProperties(Object)

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

(Dziedziczone od TypeConverter)
GetPropertiesSupported()

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

(Dziedziczone od 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 domyślnego kontekstu dla typu danych, dla których ten konwerter typów jest przeznaczony.

(Dziedziczone od 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.

(Dziedziczone od TypeConverter)
GetStandardValuesExclusive()

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

(Dziedziczone od TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

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

(Dziedziczone od TypeConverter)
GetStandardValuesSupported()

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

(Dziedziczone od TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

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

(Dziedziczone od TypeConverter)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Dziedziczone od Object)
IsValid(ITypeDescriptorContext, Object)

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

(Dziedziczone od TypeConverter)
IsValid(Object)

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

(Dziedziczone od TypeConverter)
MemberwiseClone()

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

(Dziedziczone od Object)
SortProperties(PropertyDescriptorCollection, String[])

Sortuje kolekcję właściwości.

(Dziedziczone od TypeConverter)
ToString()

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

(Dziedziczone od Object)

Dotyczy

Zobacz także