ModuleBuilder.DefineEnum メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Public Function DefineEnum ( _ name As String, _ visibility As TypeAttributes, _ underlyingType As Type _ ) As EnumBuilder
Dim instance As ModuleBuilder Dim name As String Dim visibility As TypeAttributes Dim underlyingType As Type Dim returnValue As EnumBuilder returnValue = instance.DefineEnum(name, visibility, underlyingType)
public: EnumBuilder^ DefineEnum ( String^ name, TypeAttributes visibility, Type^ underlyingType )
public function DefineEnum ( name : String, visibility : TypeAttributes, underlyingType : Type ) : EnumBuilder
- underlyingType
列挙型の基になる型。
定義された列挙型を返します。



次のコード例は、DefineEnum を使用して、動的モジュールの中に列挙体クラスを実装する方法を示しています。
Dim currentDomain As AppDomain Dim myAssemblyName As AssemblyName ' Get the current application domain for the current thread. currentDomain = AppDomain.CurrentDomain ' Create assembly in current currentDomain myAssemblyName = New AssemblyName() myAssemblyName.Name = "TempAssembly" ' Define a dynamic assembly in the 'currentDomain'. myAssemblyBuilder = currentDomain.DefineDynamicAssembly _ (myAssemblyName, AssemblyBuilderAccess.Run) ' Define a dynamic module in "TempAssembly" assembly. myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule") ' Define a enumeration type with name 'MyEnum' in the 'TempModule'. Dim myEnumBuilder As EnumBuilder = myModuleBuilder.DefineEnum _ ("MyEnum", TypeAttributes.Public, GetType(Integer)) ' Define the named static fields in the enumeration type 'MyEnum'. myEnumBuilder.DefineLiteral("MyEnumMember1", 2) myEnumBuilder.DefineLiteral("MyEnumMember2", 3) myEnumBuilder.CreateType()
AppDomain currentDomain; AssemblyName myAssemblyName; // Get the current application domain for the current thread. currentDomain = AppDomain.CurrentDomain; // Create assembly in current currentDomain myAssemblyName = new AssemblyName(); myAssemblyName.Name = "TempAssembly"; // Define a dynamic assembly in the 'currentDomain'. myAssemblyBuilder = currentDomain.DefineDynamicAssembly (myAssemblyName, AssemblyBuilderAccess.Run); // Define a dynamic module in "TempAssembly" assembly. myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule"); // Define a enumeration type with name 'MyEnum' in the 'TempModule'. EnumBuilder myEnumBuilder = myModuleBuilder.DefineEnum("MyEnum", TypeAttributes.Public,typeof(int)); // Define the named static fields in the enumeration type 'MyEnum'. myEnumBuilder.DefineLiteral("MyEnumMember1",2); myEnumBuilder.DefineLiteral("MyEnumMember2",3); myEnumBuilder.CreateType();
AppDomain^ currentDomain; AssemblyName^ myAssemblyName; // Get the current application domain for the current thread. currentDomain = AppDomain::CurrentDomain; // Create assembly in current currentDomain myAssemblyName = gcnew AssemblyName; myAssemblyName->Name = "TempAssembly"; // Define a dynamic assembly in the 'currentDomain'. myAssemblyBuilder = currentDomain->DefineDynamicAssembly( myAssemblyName, AssemblyBuilderAccess::Run ); // Define a dynamic module in "TempAssembly" assembly. myModuleBuilder = myAssemblyBuilder->DefineDynamicModule( "TempModule" ); // Define a enumeration type with name 'MyEnum' in the 'TempModule'. EnumBuilder^ myEnumBuilder = myModuleBuilder->DefineEnum( "MyEnum", TypeAttributes::Public, int::typeid ); // Define the named static fields in the enumeration type 'MyEnum'. myEnumBuilder->DefineLiteral( "MyEnumMember1", 2 ); myEnumBuilder->DefineLiteral( "MyEnumMember2", 3 ); myEnumBuilder->CreateType();
AppDomain currentDomain; AssemblyName myAssemblyName; // Get the current application domain for the current thread. currentDomain = AppDomain.get_CurrentDomain(); // Create assembly in current currentDomain myAssemblyName = new AssemblyName(); myAssemblyName.set_Name("TempAssembly"); // Define a dynamic assembly in the 'currentDomain'. myAssemblyBuilder = currentDomain.DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.Run); // Define a dynamic module in "TempAssembly" assembly. myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule"); // Define a enumeration type with name 'MyEnum' in the 'TempModule'. EnumBuilder myEnumBuilder = myModuleBuilder.DefineEnum("MyEnum", TypeAttributes.Public, int.class.ToType()); // Define the named static fields in the enumeration type 'MyEnum'. myEnumBuilder.DefineLiteral("MyEnumMember1", (Int32)2); myEnumBuilder.DefineLiteral("MyEnumMember2", (Int32)3); myEnumBuilder.CreateType();


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


- ModuleBuilder.DefineEnum メソッドのページへのリンク