ExpandableObjectConverter Sınıf

Tanım

Genişletilebilir nesneleri diğer çeşitli gösterimlere dönüştürmek için bir tür dönüştürücü sağlar.

public ref class ExpandableObjectConverter : System::ComponentModel::TypeConverter
public class ExpandableObjectConverter : System.ComponentModel.TypeConverter
type ExpandableObjectConverter = class
    inherit TypeConverter
Public Class ExpandableObjectConverter
Inherits TypeConverter
Devralma
ExpandableObjectConverter
Türetilmiş

Örnekler

Aşağıdaki kod örneği türündeki Margins bir değişkeni dize değişkenine dönüştürür.

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

Aşağıdaki kod örneği, özel bir denetimde genişletilebilir özellik oluşturmak için ve ExpandableObjectConverter sınıfının nasıl kullanılacağını NotifyParentPropertyAttribute gösterir. Bu kod örneği, sınıfı için NotifyParentPropertyAttribute sağlanan daha büyük bir örneğin parçasıdır.

[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

Açıklamalar

Bu sınıf, tarafından TypeConvertersağlanan yöntemlere ve özelliklere bir nesnedeki özellikler için destek ekler. bir özellik türünü içinde PropertyGridgenişletilebilir hale getirmek için, ve GetProperties'nin GetPropertiesSupported standart uygulamaları için bunu TypeConverter belirtin. Denetimde PropertyGrid doğru davranışı sağlamak için alt özellikleri ile NotifyParentPropertyAttribute işaretleyin.

Not

Hiçbir zaman bir tür dönüştürücüye doğrudan erişmemelisiniz. Bunun yerine, kullanarak TypeDescriptoruygun dönüştürücüye çağrı yapın. Daha fazla bilgi için temel sınıftaki örneklere TypeConverter bakın.

Tür dönüştürücüleri hakkında daha fazla bilgi için temel sınıfa TypeConverter ve Nasıl yapılır: Tür Dönüştürücü Uygulama'ya bakın.

Oluşturucular

ExpandableObjectConverter()

ExpandableObjectConverter sınıfının yeni bir örneğini başlatır.

Yöntemler

CanConvertFrom(ITypeDescriptorContext, Type)

Bu dönüştürücü, belirtilen bağlamı kullanarak verilen türdeki bir nesneyi bu dönüştürücü türüne dönüştürebilir mi döndürür.

(Devralındığı yer: TypeConverter)
CanConvertFrom(Type)

Bu dönüştürücüün verilen türdeki bir nesneyi bu dönüştürücü türüne dönüştürip dönüştüremeyeceğini döndürür.

(Devralındığı yer: TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Bu dönüştürücü, belirtilen bağlamı kullanarak nesneyi belirtilen türe dönüştürebilir mi döndürür.

(Devralındığı yer: TypeConverter)
CanConvertTo(Type)

Bu dönüştürücüün nesneyi belirtilen türe dönüştürip dönüştüremeyeceğini döndürür.

(Devralındığı yer: TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Belirtilen bağlam ve kültür bilgilerini kullanarak verilen nesneyi bu dönüştürücü türüne dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertFrom(Object)

Verilen değeri bu dönüştürücü türüne dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Sabit kültürü ve belirtilen bağlamı kullanarak verilen dizeyi bu dönüştürücü türüne dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertFromInvariantString(String)

Sabit kültürü kullanarak verilen dizeyi bu dönüştürücü türüne dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Belirtilen bağlam ve kültür bilgilerini kullanarak verilen metni bir nesneye dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Belirtilen bağlamı kullanarak verilen metni bir nesneye dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertFromString(String)

Belirtilen metni bir nesneye dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Belirtilen bağlam ve kültür bilgilerini kullanarak verilen değer nesnesini belirtilen türe dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertTo(Object, Type)

Bağımsız değişkenleri kullanarak verilen değer nesnesini belirtilen türe dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Belirtilen bağlamı kullanarak belirtilen değeri kültür sabiti dize gösterimine dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertToInvariantString(Object)

Belirtilen değeri kültür sabiti dize gösterimine dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Belirtilen bağlam ve kültür bilgilerini kullanarak verilen değeri dize gösterimine dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Verilen bağlamı kullanarak verilen değeri bir dize gösterimine dönüştürür.

(Devralındığı yer: TypeConverter)
ConvertToString(Object)

Belirtilen değeri dize gösterimine dönüştürür.

(Devralındığı yer: TypeConverter)
CreateInstance(IDictionary)

Nesne için belirli bir Object özellik değerleri kümesini yeniden oluşturur.

(Devralındığı yer: TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Nesne için bir özellik değerleri kümesi verildiğinde, belirtilen bağlamı kullanarak bunun TypeConverter ilişkili olduğu türün bir örneğini oluşturur.

(Devralındığı yer: TypeConverter)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetConvertFromException(Object)

Dönüştürme gerçekleştirilemediğinde oluşturulacak bir özel durum döndürür.

(Devralındığı yer: TypeConverter)
GetConvertToException(Object, Type)

Dönüştürme gerçekleştirilemediğinde oluşturulacak bir özel durum döndürür.

(Devralındığı yer: TypeConverter)
GetCreateInstanceSupported()

Bu nesnedeki bir değeri değiştirmenin yeni bir değer oluşturmak için yöntemine CreateInstance(IDictionary) bir çağrı gerekip gerekmediğini döndürür.

(Devralındığı yer: TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Bu nesnedeki bir değeri değiştirmenin, belirtilen bağlamı kullanarak yeni bir değer oluşturmak için CreateInstance(IDictionary) çağrısı gerekip gerekmediğini döndürür.

(Devralındığı yer: TypeConverter)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetProperties(ITypeDescriptorContext, Object)

Belirtilen bağlamı kullanarak değer parametresi tarafından belirtilen dizi türü için bir özellik koleksiyonu döndürür.

(Devralındığı yer: TypeConverter)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

değer parametresi tarafından belirtilen nesne türü için bir özellik koleksiyonu alır.

GetProperties(Object)

değer parametresi tarafından belirtilen dizi türü için bir özellik koleksiyonu döndürür.

(Devralındığı yer: TypeConverter)
GetPropertiesSupported()

Bu nesnenin özellikleri destekleyip desteklemediğini döndürür.

(Devralındığı yer: TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Bu nesnenin belirtilen bağlamı kullanarak özellikleri destekleyip desteklemediğini belirten bir değer alır.

GetStandardValues()

Bu tür dönüştürücüsünün tasarlandığı veri türü için varsayılan bağlamdan bir standart değerler koleksiyonu döndürür.

(Devralındığı yer: TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Bu tür dönüştürücü bir biçim bağlamı sağlandığında için tasarlanan veri türü için standart değerlerden oluşan bir koleksiyon döndürür.

(Devralındığı yer: TypeConverter)
GetStandardValuesExclusive()

'den GetStandardValues() döndürülen standart değerler koleksiyonunun özel kullanım listesi olup olmadığını döndürür.

(Devralındığı yer: TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

belirtilen bağlamı kullanarak, döndürülen GetStandardValues() standart değerler koleksiyonunun olası değerlerin özel bir listesi olup olmadığını döndürür.

(Devralındığı yer: TypeConverter)
GetStandardValuesSupported()

Bu nesnenin bir listeden seçilebilen standart bir değer kümesini destekleyip desteklemediğini döndürür.

(Devralındığı yer: TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Bu nesnenin, belirtilen bağlam kullanılarak bir listeden seçilebilen standart bir değer kümesini destekleyip desteklemediğini döndürür.

(Devralındığı yer: TypeConverter)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsValid(ITypeDescriptorContext, Object)

Verilen değer nesnesinin bu tür ve belirtilen bağlam için geçerli olup olmadığını döndürür.

(Devralındığı yer: TypeConverter)
IsValid(Object)

Verilen değer nesnesinin bu tür için geçerli olup olmadığını döndürür.

(Devralındığı yer: TypeConverter)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
SortProperties(PropertyDescriptorCollection, String[])

Bir özellik koleksiyonunu sıralar.

(Devralındığı yer: TypeConverter)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.