Udostępnij za pośrednictwem


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 udostępnionego 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 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.

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ślonych informacji o kontekście i 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 informacji o kontekście i kulturze.

(Odziedziczone po TypeConverter)
ConvertTo(Object, Type)

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

(Odziedziczone po TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Konwertuje określoną wartość na niezmienną reprezentację ciągu 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 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, 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 CreateInstance(IDictionary) metody w celu utworzenia nowej wartości.

(Odziedziczone po 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.

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

(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 listą wyłączną.

(Odziedziczone po 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.

(Odziedziczone po TypeConverter)
GetStandardValuesSupported()

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

(Odziedziczone po 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.

(Odziedziczone po TypeConverter)
GetType()

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

(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ż