一般的な型変換

.NET Framework では、ユーザー定義データ型 (カスタム型) を他のデータ型に変換する方法として次の 2 つの方法があります。

この 2 つの方法の相違点を次の表に示します。

注意

カスタム型に対してデザイン時サポートが有効になるのは、そのカスタム型の型コンバーターが定義されている場合だけです。

TypeConverter を使用した変換

IConvertible を使用した変換

デザイン時と実行時に使用できます。

実行時だけ使用できます。

リフレクションを使用するため、IConvertible での変換よりも処理に時間がかかります。

リフレクションを使用しません。

カスタム型から他のデータ型への変換と、他のデータ型からカスタム型への変換という双方向の変換が可能です。 たとえば、MyType に定義されている TypeConverter では、MyType から String への変換と、String から MyType への変換を実行できます。

カスタム型から他のデータ型への変換は実行できますが、他のデータ型からカスタム型への変換は実行できません。

メモメモ
型の TypeConverter はその型の外側で実装されます。型に関連付けるには TypeConverterAttribute 属性を適用します。
メモメモ
IConvertible はカスタム型によって実装されます。型を変換するには、その型を使用するときに、その型に対して IConvertible コントラクトの変換メソッドを呼び出します。

型コンバーターを使用した変換の詳細については、System.ComponentModel.TypeConverter を参照してください。 カスタム型のデザイン時サポートを提供するための型コンバーターの実装については、「型コンバーターの実装」を参照してください。

参照

処理手順

方法 : 型コンバーターを実装する

その他の技術情報

デザイン時サポートの拡張