The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
EnumBuilder::GUID Property
.NET Framework (current version)
Returns the GUID of this enum.
Assembly: mscorlib (in mscorlib.dll)
Implements
_Type::GUID| Exception | Condition |
|---|---|
| NotSupportedException | This method is not currently supported in types that are not complete. |
The following code sample demonstrates the use of the GUID property to reference the associated Guid of the current EnumBuilder.
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(); }
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Available since 1.1
Silverlight
Available since 2.0
Show: