EnumBuilder.Assembly Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar den dynamiska sammansättning som innehåller den här uppräkningsdefinitionen.
public:
virtual property System::Reflection::Assembly ^ Assembly { System::Reflection::Assembly ^ get(); };
public override System.Reflection.Assembly Assembly { get; }
member this.Assembly : System.Reflection.Assembly
Public Overrides ReadOnly Property Assembly As Assembly
Egenskapsvärde
Read-only. Den dynamiska sammansättning som innehåller den här uppräkningsdefinitionen.
Exempel
Följande kodexempel visar hur egenskapen används Assembly för att referera till den överordnade sammansättningen för den aktuella EnumBuilder.
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("Properties of EnumBuilder : ");
Console.WriteLine("Enum Assembly is :" + myEnumBuilder.Assembly.ToString());
Console.WriteLine("Enum AssemblyQualifiedName is :" +
myEnumBuilder.AssemblyQualifiedName.ToString());
Console.WriteLine("Enum Module is :" + myEnumBuilder.Module.ToString());
Console.WriteLine("Enum Name is :" + myEnumBuilder.Name.ToString());
Console.WriteLine("Enum NameSpace is :" + myEnumBuilder.Namespace);
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();
}
}
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("Properties of EnumBuilder : ")
Console.WriteLine("Enum Assembly is :" + myEnumBuilder.Assembly.ToString())
Console.WriteLine("Enum AssemblyQualifiedName is :" + myEnumBuilder.AssemblyQualifiedName.ToString())
Console.WriteLine("Enum Module is :" + myEnumBuilder.Module.ToString())
Console.WriteLine("Enum Name is :" + myEnumBuilder.Name.ToString())
Console.WriteLine("Enum NameSpace is :" + myEnumBuilder.Namespace)
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
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
End Class