EnumBuilder クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<ComVisibleAttribute(True)> _ <ClassInterfaceAttribute(ClassInterfaceType.None)> _ Public NotInheritable Class EnumBuilder Inherits Type Implements _EnumBuilder
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType.None)] public sealed class EnumBuilder : Type, _EnumBuilder
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType::None)] public ref class EnumBuilder sealed : public Type, _EnumBuilder

次のコード例は、EnumBuilder を使用して、動的なアセンブリ内に列挙体を作成する方法を示しています。
Imports System Imports System.Collections Imports System.Threading Imports System.Reflection Imports System.Reflection.Emit Public Class MyEnumBuilderSample Private Shared myAssemblyBuilder As AssemblyBuilder Private Shared myModuleBuilder As ModuleBuilder Private Shared myEnumBuilder As EnumBuilder Public Shared Sub Main() Try CreateCallee(Thread.GetDomain(), AssemblyBuilderAccess.Save) Dim myTypeArray As Type() = myModuleBuilder.GetTypes() Dim myType As Type For Each myType In myTypeArray Console.WriteLine("Enum Builder defined in the module builder is: " + myType.Name) Next myType Console.WriteLine("Enum TypeToken is :" + myEnumBuilder.TypeToken.ToString()) Console.WriteLine("Enum UnderLyingField is :" + myEnumBuilder.UnderlyingField.ToString()) Console.WriteLine("Enum UnderLyingSystemType is :" + myEnumBuilder.UnderlyingSystemType.ToString()) Console.WriteLine("Enum GUID is :" + myEnumBuilder.GUID.ToString()) myAssemblyBuilder.Save("EmittedAssembly.dll") Catch ex As NotSupportedException Console.WriteLine("The following is the exception is raised: " + ex.Message) Catch e As Exception Console.WriteLine("The following is the exception raised: " + e.Message) End Try End Sub 'Main Private Shared Sub CreateCallee(myAppDomain As AppDomain, access As AssemblyBuilderAccess) ' Create a name for the assembly. Dim myAssemblyName As New AssemblyName() myAssemblyName.Name = "EmittedAssembly" ' Create the dynamic assembly. myAssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAssemblyName, _ AssemblyBuilderAccess.Save) ' Create a dynamic module. myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("EmittedModule", "EmittedModule.mod") ' Create a dynamic Enum. myEnumBuilder = myModuleBuilder.DefineEnum("MyNamespace.MyEnum", _ TypeAttributes.Public, GetType(Int32)) Dim myFieldBuilder1 As FieldBuilder = myEnumBuilder.DefineLiteral("FieldOne", 1) Dim myFieldBuilder2 As FieldBuilder = myEnumBuilder.DefineLiteral("FieldTwo", 2) myEnumBuilder.CreateType() End Sub 'CreateCallee End Class 'MyEnumBuilderSample
using System; using System.Collections; using System.Threading; using System.Reflection; using System.Reflection.Emit; public class MyEnumBuilderSample { static AssemblyBuilder myAssemblyBuilder; static ModuleBuilder myModuleBuilder; static EnumBuilder myEnumBuilder; public static void Main() { try { CreateCallee(Thread.GetDomain(), AssemblyBuilderAccess.Save); Type[] myTypeArray = myModuleBuilder.GetTypes(); foreach(Type myType in myTypeArray) { Console.WriteLine("Enum Builder defined in the module builder is: " + myType.Name); } Console.WriteLine("Enum TypeToken is :" + myEnumBuilder.TypeToken.ToString()); Console.WriteLine("Enum UnderLyingField is :" + myEnumBuilder.UnderlyingField.ToString()); Console.WriteLine("Enum UnderLyingSystemType is :" + myEnumBuilder.UnderlyingSystemType.ToString()); Console.WriteLine("Enum GUID is :" + myEnumBuilder.GUID.ToString()); myAssemblyBuilder.Save("EmittedAssembly.dll"); } catch(NotSupportedException ex) { Console.WriteLine("The following is the exception is raised: " + ex.Message); } catch(Exception e) { Console.WriteLine("The following is the exception raised: " + e.Message); } } private static void CreateCallee(AppDomain myAppDomain, AssemblyBuilderAccess access) { // Create a name for the assembly. AssemblyName myAssemblyName = new AssemblyName(); myAssemblyName.Name = "EmittedAssembly"; // Create the dynamic assembly. myAssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.Save); // Create a dynamic module. myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("EmittedModule", "EmittedModule.mod"); // Create a dynamic Enum. myEnumBuilder = myModuleBuilder.DefineEnum("MyNamespace.MyEnum", TypeAttributes.Public, typeof(Int32)); FieldBuilder myFieldBuilder1 = myEnumBuilder.DefineLiteral("FieldOne", 1); FieldBuilder myFieldBuilder2 = myEnumBuilder.DefineLiteral("FieldTwo", 2); myEnumBuilder.CreateType(); } }
using namespace System; using namespace System::Collections; using namespace System::Threading; using namespace System::Reflection; using namespace System::Reflection::Emit; public ref class MyEnumBuilderSample { private: static AssemblyBuilder^ myAssemblyBuilder; static ModuleBuilder^ myModuleBuilder; static EnumBuilder^ myEnumBuilder; public: static void Main() { try { CreateCallee( Thread::GetDomain(), AssemblyBuilderAccess::Save ); array<Type^>^myTypeArray = myModuleBuilder->GetTypes(); IEnumerator^ myEnum = myTypeArray->GetEnumerator(); while ( myEnum->MoveNext() ) { Type^ myType = safe_cast<Type^>(myEnum->Current); Console::WriteLine( "Enum Builder defined in the module builder is: {0}", myType->Name ); } Console::WriteLine( "Enum TypeToken is :{0}", myEnumBuilder->TypeToken ); Console::WriteLine( "Enum UnderLyingField is :{0}", myEnumBuilder->UnderlyingField ); Console::WriteLine( "Enum UnderLyingSystemType is :{0}", myEnumBuilder->UnderlyingSystemType ); Console::WriteLine( "Enum GUID is :{0}", myEnumBuilder->GUID ); myAssemblyBuilder->Save( "EmittedAssembly.dll" ); } catch ( NotSupportedException^ ex ) { Console::WriteLine( "The following is the exception is raised: {0}", ex->Message ); } catch ( Exception^ e ) { Console::WriteLine( "The following is the exception raised: {0}", e->Message ); } } private: static void CreateCallee( AppDomain^ myAppDomain, AssemblyBuilderAccess /*access*/ ) { // Create a name for the assembly. AssemblyName^ myAssemblyName = gcnew AssemblyName; myAssemblyName->Name = "EmittedAssembly"; // Create the dynamic assembly. myAssemblyBuilder = myAppDomain->DefineDynamicAssembly( myAssemblyName, AssemblyBuilderAccess::Save ); // Create a dynamic module. myModuleBuilder = myAssemblyBuilder->DefineDynamicModule( "EmittedModule", "EmittedModule.mod" ); // Create a dynamic Enum. myEnumBuilder = myModuleBuilder->DefineEnum( "MyNamespace.MyEnum", TypeAttributes::Public, Int32::typeid ); FieldBuilder^ myFieldBuilder1 = myEnumBuilder->DefineLiteral( "FieldOne", 1 ); FieldBuilder^ myFieldBuilder2 = myEnumBuilder->DefineLiteral( "FieldTwo", 2 ); myEnumBuilder->CreateType(); } }; int main() { MyEnumBuilderSample::Main(); }
import System.*; import System.Collections.*; import System.Threading.*; import System.Reflection.*; import System.Reflection.Emit.*; public class MyEnumBuilderSample { private static AssemblyBuilder myAssemblyBuilder; private static ModuleBuilder myModuleBuilder; private static EnumBuilder myEnumBuilder; public static void main(String[] args) { try { CreateCallee(System.Threading.Thread.GetDomain(), AssemblyBuilderAccess.Save); Type myTypeArray[] = myModuleBuilder.GetTypes(); Type myType = null; for (int iCtr = 0; iCtr < myTypeArray.length;iCtr++ ) { myType = myTypeArray[iCtr]; Console.WriteLine("Enum Builder defined in the module " + "builder is: " + myType.get_Name()); } Console.WriteLine("Enum TypeToken is :" + myEnumBuilder.get_TypeToken().ToString()); Console.WriteLine("Enum UnderLyingField is :" + myEnumBuilder.get_UnderlyingField().ToString()); Console.WriteLine("Enum UnderLyingSystemType is :" + myEnumBuilder.get_UnderlyingSystemType().ToString()); Console.WriteLine("Enum GUID is :" + myEnumBuilder.get_GUID().ToString()); myAssemblyBuilder.Save("EmittedAssembly.dll"); } catch (NotSupportedException ex) { Console.WriteLine("The following is the exception is raised: " + ex.get_Message()); } catch (System.Exception e) { Console.WriteLine("The following is the exception raised: " + e.get_Message()); } } //main private static void CreateCallee(AppDomain myAppDomain, AssemblyBuilderAccess access) { // Create a name for the assembly. AssemblyName myAssemblyName = new AssemblyName(); myAssemblyName.set_Name("EmittedAssembly"); // Create the dynamic assembly. myAssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.Save); // Create a dynamic module. myModuleBuilder = myAssemblyBuilder. DefineDynamicModule("EmittedModule", "EmittedModule.mod"); // Create a dynamic Enum. myEnumBuilder = myModuleBuilder.DefineEnum("MyNamespace.MyEnum", TypeAttributes.Public, Int32.class.ToType()); FieldBuilder myFieldBuilder1 = myEnumBuilder.DefineLiteral("FieldOne" , (Int32)1); FieldBuilder myFieldBuilder2 = myEnumBuilder.DefineLiteral("FieldTwo" , (Int32)2); myEnumBuilder.CreateType(); } //CreateCallee } //MyEnumBuilderSample

System.Reflection.MemberInfo
System.Type
System.Reflection.Emit.EnumBuilder


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


EnumBuilder プロパティ

名前 | 説明 | |
---|---|---|
![]() | Assembly | オーバーライドされます。 この列挙型 (Enum) の定義が含まれた動的アセンブリを取得します。 |
![]() | AssemblyQualifiedName | オーバーライドされます。 親アセンブリの表示名で限定されたこの列挙型 (Enum) の完全パスを返します。 |
![]() | Attributes | Type に関連付けられている属性を取得します。 ( Type から継承されます。) |
![]() | BaseType | オーバーライドされます。 この型の親の Type を返します。これは常に Enum です。 |
![]() | ContainsGenericParameters | 現在の Type オブジェクトが特定の型で置き換えられていない型パラメータを持っているどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | DeclaringMethod | 現在の Type がジェネリック メソッドの型パラメータを表している場合に、宣言するメソッドを表す MethodBase を取得します。 ( Type から継承されます。) |
![]() | DeclaringType | オーバーライドされます。 この EnumBuilder を宣言した型を返します。 |
![]() | DefaultBinder | 既定のバインダへの参照を取得します。このバインダは、InvokeMember によって呼び出される適切なメンバを選択するための内部規則を実装します。 ( Type から継承されます。) |
![]() | FullName | オーバーライドされます。 この列挙型 (Enum) の完全パスを返します。 |
![]() | GenericParameterAttributes | 現在のジェネリック型パラメータの共変性および特殊な制約を説明する GenericParameterAttributes フラグの組み合わせを取得します。 ( Type から継承されます。) |
![]() | GenericParameterPosition | Type オブジェクトがジェネリック型またはジェネリック メソッドの型パラメータを表す場合に、パラメータを宣言したジェネリック型またはジェネリック メソッドの型パラメータ リスト内の型パラメータの位置を取得します。 ( Type から継承されます。) |
![]() | GUID | オーバーライドされます。 この列挙型 (Enum) のグローバル一意識別子 (GUID: Globally Unique Identifier) を返します。 |
![]() | HasElementType | 現在の Type が別の型を包含または参照しているかどうか、つまり現在の Type が配列、ポインタ、または参照渡しかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsAbstract | Type が抽象型で、オーバーライドする必要があるかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsAnsiClass | Type に、文字列書式属性として AnsiClass が選択されているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsArray | Type が配列かどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsAutoClass | Type に、文字列書式属性として AutoClass が選択されているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsAutoLayout | Type に、クラスのレイアウト属性として AutoLayout が選択されているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsByRef | Type が参照渡しかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsClass | Type がクラスであり、値型やインターフェイスでないかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsCOMObject | Type が COM オブジェクトかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsContextful | Type をコンテキスト内で管理できるかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsEnum | 現在の Type が列挙体であるどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsExplicitLayout | Type に、クラスのレイアウト属性として ExplicitLayout が選択されているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsGenericParameter | 現在の Type がジェネリック型またはジェネリック メソッドの定義の型パラメータを表しているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsGenericType | 現在の型がジェネリック型かどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsGenericTypeDefinition | 現在の Type が、他のジェネリック型を構築できるジェネリック型の定義を表しているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsImport | Type が ComImportAttribute 属性を持っているかどうかを示す (つまり、COM タイプ ライブラリからインポートされたかどうかを示す) 値を取得します。 ( Type から継承されます。) |
![]() | IsInterface | Type がインターフェイスであり、クラスや値型でないかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsLayoutSequential | Type に、クラスのレイアウト属性として SequentialLayout が選択されているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsMarshalByRef | Type が参照渡しでマーシャリングされるかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsNested | 現在の Type オブジェクトが、別の型の定義内に入れ子になっている定義で定義された型を表しているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsNestedAssembly | Type が入れ子になっていて、それ自体が属するアセンブリ内でだけ参照可能かどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsNestedFamANDAssem | Type が入れ子になっていて、それ自体が属するファミリとアセンブリの両方に属しているクラスだけから参照可能かどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsNestedFamily | Type が入れ子になっていて、それ自体が属するファミリ内でだけ参照可能かどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsNestedFamORAssem | Type が入れ子になっていて、それ自体が属するファミリまたはアセンブリのいずれかに属しているクラスだけから参照可能かどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsNestedPrivate | Type が入れ子になっていて、プライベートとして宣言されているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsNestedPublic | クラスが入れ子になっていて、パブリックとして宣言されているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsNotPublic | Type がパブリックとして宣言されていないかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsPointer | Type がポインタかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsPrimitive | Type がプリミティブ型の 1 つかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsPublic | Type がパブリックとして宣言されているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsSealed | Type が sealed として宣言されているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsSerializable | Type をシリアル化できるかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsSpecialName | Type の名前が特別な処理を必要とするかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsUnicodeClass | Type に、文字列書式属性として UnicodeClass が選択されているかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsValueType | Type が値型かどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | IsVisible | Type にアセンブリの外側のコードからアクセスできるかどうかを示す値を取得します。 ( Type から継承されます。) |
![]() | MemberType | このメンバが型であるか、または入れ子にされた型であるかを示す MemberTypes 値を取得します。 ( Type から継承されます。) |
![]() | MetadataToken | メタデータ要素を識別する値を取得します。 ( MemberInfo から継承されます。) |
![]() | Module | オーバーライドされます。 この EnumBuilder の定義が含まれた動的モジュールを取得します。 |
![]() | Name | オーバーライドされます。 この列挙型 (Enum) の名前を返します。 |
![]() | Namespace | オーバーライドされます。 この列挙型 (Enum) の名前空間を返します。 |
![]() | ReflectedType | オーバーライドされます。 この EnumBuilder を取得するために使用した型を返します。 |
![]() | StructLayoutAttribute | 現在の型のレイアウトを説明する StructLayoutAttribute を取得します。 ( Type から継承されます。) |
![]() | TypeHandle | オーバーライドされます。 この列挙型 (Enum) の内部ハンドルを取得します。 |
![]() | TypeInitializer | Type のクラス初期化子を取得します。 ( Type から継承されます。) |
![]() | TypeToken | この列挙型 (Enum) の内部メタデータ型トークンを返します。 |
![]() | UnderlyingField | この列挙型 (Enum) の基になるフィールドを返します。 |
![]() | UnderlyingSystemType | オーバーライドされます。 この列挙型 (Enum) の基になるシステム型を返します。 |

EnumBuilder メソッド


名前 | 説明 | |
---|---|---|
![]() | System.Runtime.InteropServices._EnumBuilder.GetIDsOfNames | 名前のセットを対応するディスパッチ識別子のセットに割り当てます。 |
![]() | System.Runtime.InteropServices._EnumBuilder.GetTypeInfo | オブジェクトの型情報を取得します。この型情報は、インターフェイスの型情報を取得するために使用できます。 |
![]() | System.Runtime.InteropServices._EnumBuilder.GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数を取得します (0 または 1)。 |
![]() | System.Runtime.InteropServices._EnumBuilder.Invoke | オブジェクトによって公開されているプロパティおよびメソッドにアクセスできるようにします。 |

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



名前 | 説明 | |
---|---|---|
![]() | System.Runtime.InteropServices._EnumBuilder.GetIDsOfNames | 名前のセットを対応するディスパッチ識別子のセットに割り当てます。 |
![]() | System.Runtime.InteropServices._EnumBuilder.GetTypeInfo | オブジェクトの型情報を取得します。この型情報は、インターフェイスの型情報を取得するために使用できます。 |
![]() | System.Runtime.InteropServices._EnumBuilder.GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数を取得します (0 または 1)。 |
![]() | System.Runtime.InteropServices._EnumBuilder.Invoke | オブジェクトによって公開されているプロパティおよびメソッドにアクセスできるようにします。 |

_EnumBuilder インターフェイス
アセンブリ: mscorlib (mscorlib.dll 内)

<ComVisibleAttribute(True)> _ <GuidAttribute("C7BD73DE-9F85-3290-88EE-090B8BDFE2DF")> _ <InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _ <CLSCompliantAttribute(False)> _ Public Interface _EnumBuilder
[ComVisibleAttribute(true)] [GuidAttribute("C7BD73DE-9F85-3290-88EE-090B8BDFE2DF")] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] [CLSCompliantAttribute(false)] public interface _EnumBuilder
[ComVisibleAttribute(true)] [GuidAttribute(L"C7BD73DE-9F85-3290-88EE-090B8BDFE2DF")] [InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIUnknown)] [CLSCompliantAttribute(false)] public interface class _EnumBuilder


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


_EnumBuilder メソッド

名前 | 説明 | |
---|---|---|
![]() | GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
![]() | GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
![]() | GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
![]() | Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |

_EnumBuilder メンバ
System.Reflection.Emit.EnumBuilder クラスをアンマネージ コードに公開します。
_EnumBuilder データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | GetIDsOfNames | 一連の名前を対応する一連のディスパッチ識別子に割り当てます。 |
![]() | GetTypeInfo | オブジェクトの型情報を取得します。その後は、インターフェイスの型情報の取得に使用できます。 |
![]() | GetTypeInfoCount | オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 |
![]() | Invoke | オブジェクトが公開するプロパティおよびメソッドにアクセスできるようにします。 |

- EnumBuilderのページへのリンク