次の方法で共有


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

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

[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

注釈

このクラスは、 によって提供されるメソッドとプロパティに、オブジェクトのプロパティのサポートを TypeConverter追加します。 でPropertyGridプロパティの型を展開できるようにするには、 と GetPropertiesの標準実装に対してGetPropertiesSupportedこれを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)

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

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

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

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)

適用対象

こちらもご覧ください