次の方法で共有


EnumConverter クラス

Enum 型オブジェクトのさまざまな表現への変換や、その逆の変換を行う型コンバータを提供します。

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

構文

'宣言
Public Class EnumConverter
    Inherits TypeConverter
'使用
Dim instance As EnumConverter
public class EnumConverter : TypeConverter
public ref class EnumConverter : public TypeConverter
public class EnumConverter extends TypeConverter
public class EnumConverter extends TypeConverter

解説

このコンバータは、列挙オブジェクトの文字列への変換と、その逆の変換だけを実行できます。EnumConverter クラスには、列挙体の値を並べ替えるために使用できる IComparer インターフェイスを取得する Comparer プロパティがあります。既定では、列挙値はファイル内での出現順序で並べ替えられます。

型コンバータの詳細については、TypeConverter 基本クラスのトピックおよび「方法 : 型コンバータを実装する」を参照してください。

注意

EnumConverter のインスタンスは作成しないでください。代わりに、TypeDescriptor クラスの GetConverter メソッドを呼び出します。詳細については、TypeConverter 基本クラスのトピックの例を参照してください。

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

継承時の注意 値を異なる順序に並べ替える場合は、Comparer プロパティをオーバーライドします。

使用例

Enum 型の変数を文字列に変換する方法と、その逆の変換を行う方法を次のコード例に示します。この例では、Servers という Enum の宣言があり、次のメンバが含まれていることが必要です。

Windows=1, Exchange=2, BizTalk=3
Dim myServer As Servers = Servers.Exchange
Dim myServerString As string = "BizTalk"
Console.WriteLine(TypeDescriptor.GetConverter(myServer).ConvertTo(myServer, GetType(String))) 
Console.WriteLine(TypeDescriptor.GetConverter(myServer).ConvertFrom(myServerString))    
            
Enum myServer= Servers.Exchange;
string myServerString = "BizTalk";
Console.WriteLine(TypeDescriptor.GetConverter(myServer).ConvertTo(myServer, typeof(string))); 
Console.WriteLine(TypeDescriptor.GetConverter(myServer).ConvertFrom(myServerString));    
// Requires public declaration of the following type.
// __value enum Servers {Windows=1, Exchange=2, BizTalk=3};
Servers myServer = Servers::Exchange;
String^ myServerString = "BizTalk";
Console::WriteLine( TypeDescriptor::GetConverter( myServer )->ConvertTo( myServer, String::typeid ) );
Console::WriteLine( TypeDescriptor::GetConverter( myServer )->ConvertFrom( myServerString ) );
Enum myServer = Servers.Exchange;
String myServerString = "BizTalk";
Console.WriteLine(TypeDescriptor.GetConverter(myServer).
    ConvertTo(myServer, String.class.ToType()));
Console.WriteLine(TypeDescriptor.GetConverter(myServer).
    ConvertFrom(myServerString));

継承階層

System.Object
   System.ComponentModel.TypeConverter
    System.ComponentModel.EnumConverter
       System.Drawing.FontConverter.FontUnitConverter

スレッド セーフ

この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 2.0、1.1、1.0

参照

関連項目

EnumConverter メンバ
System.ComponentModel 名前空間