一般的な型変換
更新 : 2007 年 11 月
.NET Framework では、ユーザー定義データ型 (カスタム型) を他のデータ型に変換する方法として次の 2 つの方法があります。
System.ComponentModel.TypeConverter クラスを拡張してカスタム型のコンバータを定義し、System.ComponentModel.TypeConverterAttribute 属性を使用してその型コンバータを型に関連付ける方法。
カスタム型に System.IConvertible インターフェイスを実装する方法。
この 2 つの方法の相違点を次の表に示します。
メモ : |
---|
カスタム型に対してデザイン時サポートが有効になるのは、そのカスタム型の型コンバータが定義されている場合だけです。 |
TypeConverter を使用した変換 |
IConvertible を使用した変換 |
||||
---|---|---|---|---|---|
デザイン時と実行時に使用できます。 |
実行時だけ使用できます。 |
||||
リフレクションを使用するため、IConvertible での変換よりも処理に時間がかかります。 |
リフレクションを使用しません。 |
||||
カスタム型から他のデータ型への変換と、他のデータ型からカスタム型への変換という双方向の変換が可能です。たとえば、MyType に定義されている TypeConverter では、MyType から String への変換と、String から MyType への変換を実行できます。 |
カスタム型から他のデータ型への変換は実行できますが、他のデータ型からカスタム型への変換は実行できません。 |
||||
|
|
型コンバータを使用した変換の詳細については、System.ComponentModel.TypeConverter を参照してください。カスタム型のデザイン時サポートを提供するための型コンバータの実装については、「型コンバータの実装」を参照してください。