ExpandableObjectConverter クラス

定義

展開可能なオブジェクトを他のさまざまな表現に変換する型コンバーターを提供します。

public ref class ExpandableObjectConverter : System::ComponentModel::TypeConverter
public class ExpandableObjectConverter : System.ComponentModel.TypeConverter
type ExpandableObjectConverter = class
    inherit TypeConverter
Public Class ExpandableObjectConverter
Inherits TypeConverter
継承
ExpandableObjectConverter
派生

次のコード例では、 Margins 型の変数を文字列変数に変換します。

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

次のコード例では、 NotifyParentPropertyAttributeExpandableObjectConverter クラスを使用して、カスタム コントロールに展開可能なプロパティを作成する方法を示します。 このコード例は、 NotifyParentPropertyAttribute クラスに提供されるより大きな例の一部です。

[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

注釈

このクラスは、 TypeConverterによって提供されるメソッドとプロパティに、オブジェクトのプロパティのサポートを追加します。 PropertyGridでプロパティの型を展開できるようにするには、GetPropertiesSupportedGetPropertiesの標準実装に対してこのTypeConverterを指定します。 子プロパティを NotifyParentPropertyAttribute にマークして、 PropertyGrid コントロールでの正しい動作を保証します。

型コンバーターに直接アクセスしないでください。 代わりに、 TypeDescriptorを使用して適切なコンバーターを呼び出します。 詳細については、 TypeConverter 基底クラスの例を参照してください。

型コンバーターの詳細については、 TypeConverter 基底クラスを参照してください。

コンストラクター

名前 説明
ExpandableObjectConverter()

ExpandableObjectConverter クラスの新しいインスタンスを初期化します。

メソッド

名前 説明
CanConvertFrom(ITypeDescriptorContext, Type)

指定したコンテキストを使用して、このコンバーターが指定した型のオブジェクトをこのコンバーターの型に変換できるかどうかを返します。

(継承元 TypeConverter)
CanConvertFrom(Type)

このコンバーターが、指定された型のオブジェクトをこのコンバーターの型に変換できるかどうかを返します。

(継承元 TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

指定したコンテキストを使用して、このコンバーターがオブジェクトを指定した型に変換できるかどうかを返します。

(継承元 TypeConverter)
CanConvertTo(Type)

このコンバーターがオブジェクトを指定した型に変換できるかどうかを返します。

(継承元 TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

指定したコンテキストとカルチャ情報を使用して、指定されたオブジェクトをこのコンバーターの型に変換します。

(継承元 TypeConverter)
ConvertFrom(Object)

指定された値をこのコンバーターの型に変換します。

(継承元 TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

インバリアント カルチャと指定したコンテキストを使用して、指定された文字列をこのコンバーターの型に変換します。

(継承元 TypeConverter)
ConvertFromInvariantString(String)

インバリアント カルチャを使用して、指定された文字列をこのコンバーターの型に変換します。

(継承元 TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

指定したコンテキストとカルチャ情報を使用して、指定されたテキストをオブジェクトに変換します。

(継承元 TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

指定したコンテキストを使用して、指定されたテキストをオブジェクトに変換します。

(継承元 TypeConverter)
ConvertFromString(String)

指定したテキストをオブジェクトに変換します。

(継承元 TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

指定したコンテキストとカルチャ情報を使用して、指定した値オブジェクトを指定した型に変換します。

(継承元 TypeConverter)
ConvertTo(Object, Type)

引数を使用して、指定した値オブジェクトを指定した型に変換します。

(継承元 TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

指定したコンテキストを使用して、指定した値をカルチャに依存しない文字列表現に変換します。

(継承元 TypeConverter)
ConvertToInvariantString(Object)

指定した値をカルチャに依存しない文字列表現に変換します。

(継承元 TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

指定したコンテキストとカルチャ情報を使用して、指定された値を文字列形式に変換します。

(継承元 TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

指定されたコンテキストを使用して、指定された値を文字列形式に変換します。

(継承元 TypeConverter)
ConvertToString(Object)

指定した値を文字列形式に変換します。

(継承元 TypeConverter)
CreateInstance(IDictionary)

オブジェクトのプロパティ値のセットを指定して、 Object を再作成します。

(継承元 TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

オブジェクトのプロパティ値のセットを指定すると、指定したコンテキストを使用して、この TypeConverter が関連付けられている型のインスタンスを作成します。

(継承元 TypeConverter)
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetConvertFromException(Object)

変換を実行できない場合にスローする例外を返します。

(継承元 TypeConverter)
GetConvertToException(Object, Type)

変換を実行できない場合にスローする例外を返します。

(継承元 TypeConverter)
GetCreateInstanceSupported()

このオブジェクトの値を変更するには、新しい値を作成するために CreateInstance(IDictionary) メソッドの呼び出しが必要かどうかを返します。

(継承元 TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

このオブジェクトの値を変更するために、指定したコンテキストを使用して新しい値を作成するために CreateInstance(IDictionary) の呼び出しが必要かどうかを返します。

(継承元 TypeConverter)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

値パラメーターで指定されたオブジェクトの型のプロパティのコレクションを取得します。

GetProperties(ITypeDescriptorContext, Object)

指定したコンテキストを使用して、値パラメーターで指定された配列の型のプロパティのコレクションを返します。

(継承元 TypeConverter)
GetProperties(Object)

value パラメーターで指定された配列の型のプロパティのコレクションを返します。

(継承元 TypeConverter)
GetPropertiesSupported()

このオブジェクトがプロパティをサポートしているかどうかを返します。

(継承元 TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

このオブジェクトが指定したコンテキストを使用してプロパティをサポートするかどうかを示す値を取得します。

GetStandardValues()

この型コンバーターが設計されているデータ型の既定のコンテキストから標準値のコレクションを返します。

(継承元 TypeConverter)
GetStandardValues(ITypeDescriptorContext)

この型コンバーターがフォーマット コンテキストで指定された場合に設計されたデータ型の標準値のコレクションを返します。

(継承元 TypeConverter)
GetStandardValuesExclusive()

GetStandardValues()から返される標準値のコレクションが排他的リストであるかどうかを返します。

(継承元 TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

指定したコンテキストを使用して、 GetStandardValues() から返される標準値のコレクションが使用可能な値の排他的リストであるかどうかを返します。

(継承元 TypeConverter)
GetStandardValuesSupported()

このオブジェクトが、リストから選択できる標準の値セットをサポートしているかどうかを返します。

(継承元 TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

このオブジェクトが、指定したコンテキストを使用してリストから選択できる標準の値セットをサポートしているかどうかを返します。

(継承元 TypeConverter)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsValid(ITypeDescriptorContext, Object)

指定した値オブジェクトがこの型と指定したコンテキストに対して有効かどうかを返します。

(継承元 TypeConverter)
IsValid(Object)

指定された値オブジェクトがこの型に対して有効かどうかを返します。

(継承元 TypeConverter)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
SortProperties(PropertyDescriptorCollection, String[])

プロパティのコレクションを並べ替えます。

(継承元 TypeConverter)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください