TypeConverterとは? わかりやすく解説

TypeConverter クラス

値の型を他の型に変換し、標準値とサブプロパティにアクセスするための統一的な方法を提供します。

名前空間: System.ComponentModel
アセンブリ: System (system.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public Class TypeConverter
Dim instance As TypeConverter
[ComVisibleAttribute(true)] 
public class TypeConverter
[ComVisibleAttribute(true)] 
public ref class TypeConverter
/** @attribute ComVisibleAttribute(true) */ 
public class TypeConverter
ComVisibleAttribute(true) 
public class TypeConverter
解説解説

最も一般的な型コンバータは、テキスト形式への変換と、その逆の変換を行います。クラスの型コンバータは、TypeConverterAttribute を使用してそのクラスに関連付けられます。この属性がオーバーライドされない限り、このクラスから継承されるすべてのクラスは、基本クラスと同じ型コンバータを使用します。

メモメモ

型コンバータには直接アクセスしないでください。代わりに、TypeDescriptor を使用して、該当するコンバータにアクセスします。詳細については、コード例を参照してください。

継承時の注意 独自の変換要件を実装するには、TypeConverter から継承します。このクラスから継承する場合は、次のメソッドをオーバーライドできます。

メモメモ

派生型は internal または private としてマークされる場合がありますが、型のインスタンスは TypeDescriptor クラスを使って作成できます。呼び出し元を信頼できることを前提とした、セキュリティで保護されていないコードを記述しないでください。呼び出し元が部分信頼によって型のインスタンスを作成する可能性があることを前提としてください。

型コンバータの詳細については、方法 : 型コンバータを実装する または 一般的な型変換 のトピックを参照してください。
メモメモ

このクラスに適用される HostProtectionAttribute 属性の Resources プロパティの値は、SharedState です。HostProtectionAttribute は、デスクトップ アプリケーション (一般的には、アイコンをダブルクリック、コマンドを入力、またはブラウザに URL を入力して起動するアプリケーション) には影響しません。詳細については、HostProtectionAttribute クラスのトピックまたは「SQL Server プログラミングとホスト保護属性」を参照してください。

使用例使用例

型コンバータのインスタンスを作成し、そのインスタンスをクラスに関連付けるコード例を次に示します。型コンバータ MyClassConverter を実装するクラスは、TypeConverter クラスから継承する必要があります。

<TypeConverter(GetType(MyClassConverter))> _
Public Class Class1
    ' Insert code here.
End Class 'MyClass

[TypeConverter(typeof(MyClassConverter))]
 public class MyClass {
    // Insert code here.
}
public:
   [TypeConverter(Sample::MyClassConverter::typeid)]
   ref class MyClass
   {
      // Insert code here.
   };
/** @attribute TypeConverter(MyClassConverter.class)
 */
public class MyClass
{
    // Insert code here.
} //MyClass 

列挙型のプロパティがある場合は、プロパティを設定する前に列挙値が有効かどうかを確認します。次のコード例では、MyPropertyEnum という名前の列挙体が宣言されていることが必要です。

Public WriteOnly Property
 MyProperty() As MyPropertyEnum
    Set
        ' Checks to see if the value passed is valid.
        If Not TypeDescriptor.GetConverter(GetType(MyPropertyEnum)).IsValid(value)
 Then
            Throw New ArgumentException()
        End If
        ' The value is valid. Insert code to set the property.
    End Set 
End Property

public MyPropertyEnum MyProperty {
    set {
       // Checks to see if the value passed is valid.
       if (!TypeDescriptor.GetConverter(typeof(MyPropertyEnum)).IsValid(value))
 {
          throw new ArgumentException();
       }
       // The value is valid. Insert code to set the property.
    }
 }
public:
   property MyPropertyEnum MyProperty 
   {
      void set( MyPropertyEnum value )
      {
         // Checks to see if the value passed is valid.
         if ( !TypeDescriptor::GetConverter( MyPropertyEnum::typeid
 )->IsValid( value ) )
         {
            throw gcnew ArgumentException;
         }
         // The value is valid. Insert code to set the property.
      }
   }
/** @property 
 */
public void set_MyProperty(MyPropertyEnum value)
{
    // Checks to see if the value passed is valid.
    if (!(TypeDescriptor.GetConverter(MyPropertyEnum.class.ToType()).
        IsValid(value))) {
        throw new ArgumentException();
    }
    // The value is valid. Insert code to set the property.
} //set_MyProperty

型コンバータは、オブジェクトから文字列への変換にも一般的に使用されます。変数 c に格納されている Color の名前を出力するコード例を次に示します。

Dim c As Color = Color.Red
Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c))
Color c = Color.Red;
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));
Color c = Color::Red;
Console::WriteLine( TypeDescriptor::GetConverter( c )->ConvertToString( c ) );
Color c = Color.get_Red();
Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));

また、次のコード例に示すように、名前から値への変換にも型コンバータを使用できます。

Dim c As Color = CType(TypeDescriptor.GetConverter(GetType(Color)).ConvertFromString("Red"),
 Color)
Color c = (Color)TypeDescriptor.GetConverter(typeof(Color)).ConvertFromString("Red");
Color c =  (Color)(TypeDescriptor::GetConverter( Color::typeid )->ConvertFromString(
 "Red" ));
Color c = (Color)(TypeDescriptor.GetConverter(Color.class.ToType()).
    ConvertFromString("Red"));

このコード例では、型コンバータを使用して、オブジェクトがサポートする一連の標準値も出力できます。

Dim c As Color
For Each c In  TypeDescriptor.GetConverter(GetType(Color)).GetStandardValues()
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c))
Next c
foreach(Color c in TypeDescriptor.GetConverter(typeof(Color)).GetStandardValues())
 {
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));
 }
for each ( Color c in TypeDescriptor::GetConverter(
 Color::typeid )->GetStandardValues() )
{
   Console::WriteLine( TypeDescriptor::GetConverter( c )->ConvertToString( c )
 );
}
IEnumerator e = TypeDescriptor.GetConverter(Color.class.ToType()).
    GetStandardValues().GetEnumerator();
while (e.MoveNext()) {
    Color c = (Color)e.get_Current();
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));
}
継承階層継承階層
System.Object
  System.ComponentModel.TypeConverter
     派生クラス
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
TypeConverter メンバ
System.ComponentModel 名前空間
TypeConverterAttribute
PropertyDescriptorCollection クラス
TypeConverter.SimplePropertyDescriptor
TypeConverter.StandardValuesCollection

TypeConverter コンストラクタ


TypeConverter メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CanConvertFrom オーバーロードされます。 コンバータが特定の型のオブジェクトをコンバータの型に変換できるかどうかを示す値を返します。
パブリック メソッド CanConvertTo オーバーロードされます。 コンバータがオブジェクトを指定した型に変換できるかどうかを示す値を返します。
パブリック メソッド ConvertFrom オーバーロードされます。 指定した値をコンバータの型に変換します。
パブリック メソッド ConvertFromInvariantString オーバーロードされます。 インバリアント カルチャを使用して、値をコンバータの型に変換します。
パブリック メソッド ConvertFromString オーバーロードされます。 指定したテキストをオブジェクトに変換します。
パブリック メソッド ConvertTo オーバーロードされます。 指定した値オブジェクトを、指定した型に変換します。
パブリック メソッド ConvertToInvariantString オーバーロードされます。 指定した値を、インバリアント カルチャを使用した文字列形式に変換します。
パブリック メソッド ConvertToString オーバーロードされます。 指定した値を文字列形式に変換します。
パブリック メソッド CreateInstance オーバーロードされます。 Object の一連のプロパティ値を指定して、そのオブジェクトを再作成します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetCreateInstanceSupported オーバーロードされます。 このオブジェクトの値を変更するときに CreateInstance メソッドを呼び出して、新しい値を作成する必要があるかどうかを返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetProperties オーバーロードされます。 value パラメータに指定された配列型のプロパティのコレクションを返します。
パブリック メソッド GetPropertiesSupported オーバーロードされます。 オブジェクトがプロパティをサポートしているかどうかを示す値を返します。
パブリック メソッド GetStandardValues オーバーロードされます。 型コンバータがデザインされた対象のデータ型の標準値のコレクションを返します。
パブリック メソッド GetStandardValuesExclusive オーバーロードされます。 GetStandardValues から返された標準値のコレクションが、排他的なリストかどうかを示す値を返します。
パブリック メソッド GetStandardValuesSupported オーバーロードされます。 リストから選択できる標準値セットをオブジェクトがサポートするかどうかを示す値を返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IsValid オーバーロードされます。 指定した値オブジェクトが型に対して有効かどうかを示す値を返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

TypeConverter クラス
System.ComponentModel 名前空間
TypeConverterAttribute
PropertyDescriptorCollection クラス
TypeConverter.SimplePropertyDescriptor
TypeConverter.StandardValuesCollection

TypeConverter メンバ

値の型を他の型に変換し、標準値とサブプロパティにアクセスするための統一的な方法を提供します。

TypeConverter データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド TypeConverter TypeConverter クラスの新しいインスタンスを初期化します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CanConvertFrom オーバーロードされます。 コンバータが特定の型のオブジェクトをコンバータの型に変換できるかどうかを示す値を返します。
パブリック メソッド CanConvertTo オーバーロードされます。 コンバータがオブジェクトを指定した型に変換できるかどうかを示す値を返します。
パブリック メソッド ConvertFrom オーバーロードされます。 指定した値をコンバータの型に変換します。
パブリック メソッド ConvertFromInvariantString オーバーロードされます。 インバリアント カルチャを使用して、値をコンバータの型に変換します。
パブリック メソッド ConvertFromString オーバーロードされます。 指定したテキストをオブジェクトに変換します。
パブリック メソッド ConvertTo オーバーロードされます。 指定した値オブジェクトを、指定した型に変換します。
パブリック メソッド ConvertToInvariantString オーバーロードされます。 指定した値を、インバリアント カルチャを使用した文字列形式に変換します。
パブリック メソッド ConvertToString オーバーロードされます。 指定した値を文字列形式に変換します。
パブリック メソッド CreateInstance オーバーロードされます。 Object の一連のプロパティ値を指定して、そのオブジェクトを再作成します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetCreateInstanceSupported オーバーロードされます。 このオブジェクトの値を変更するときに CreateInstance メソッドを呼び出して、新しい値を作成する必要があるかどうかを返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetProperties オーバーロードされます。 value パラメータに指定された配列型のプロパティのコレクションを返します。
パブリック メソッド GetPropertiesSupported オーバーロードされます。 オブジェクトがプロパティをサポートしているかどうかを示す値を返します。
パブリック メソッド GetStandardValues オーバーロードされます。 型コンバータがデザインされた対象のデータ型の標準値のコレクションを返します。
パブリック メソッド GetStandardValuesExclusive オーバーロードされます。 GetStandardValues から返された標準値のコレクションが、排他的なリストかどうかを示す値を返します。
パブリック メソッド GetStandardValuesSupported オーバーロードされます。 リストから選択できる標準値セットをオブジェクトがサポートするかどうかを示す値を返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IsValid オーバーロードされます。 指定した値オブジェクトが型に対して有効かどうかを示す値を返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

TypeConverter クラス
System.ComponentModel 名前空間
TypeConverterAttribute
PropertyDescriptorCollection クラス
TypeConverter.SimplePropertyDescriptor
TypeConverter.StandardValuesCollection



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「TypeConverter」の関連用語

TypeConverterのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   



TypeConverterのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS