EnumBuilder.Assembly Property
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Retrieves the dynamic assembly that contains this enum definition.
Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides ReadOnly Property Assembly As Assembly
public override Assembly Assembly { get; }
Property Value
Type: System.Reflection.Assembly
Read-only. The dynamic assembly that contains this enum definition.
Examples
The following code sample demonstrates the use of the Assembly property to reference the parent assembly of the current EnumBuilder.
Note: |
---|
To run this example, see Building Examples That Use a Demo Method and a TextBlock Control. |
Imports System.Reflection
Imports System.Reflection.Emit
Class Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
' Get the current application domain.
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
' Create a dynamic assembly in the current application domain,
' and allow it to be executed.
Dim aName As AssemblyName = New AssemblyName("TempAssembly")
Dim ab As AssemblyBuilder = currentDomain.DefineDynamicAssembly( _
aName, AssemblyBuilderAccess.Run)
' Define a dynamic module in "TempAssembly" assembly. The module can
' have the same name as the assembly.
Dim mb As ModuleBuilder = _
ab.DefineDynamicModule(aName.Name)
' Define a public enumeration with the name "Elevation" and an
' underlying type of Integer.
Dim eb As EnumBuilder = _
mb.DefineEnum("Elevation", TypeAttributes.Public, GetType(Integer))
' Define two members, "High" and "Low".
eb.DefineLiteral("Low", 0)
eb.DefineLiteral("High", 1)
' Create the type.
Dim finished As Type = eb.CreateType()
For Each fi As FieldInfo in finished.GetFields()
outputBlock.Text += String.Format("{0}.{1} = {2}" & vbCrLf, _
finished.Name, fi.Name, fi.GetRawConstantValue())
Next
outputBlock.Text &= "Properties of EnumBuilder: " & vbCrLf
outputBlock.Text &= "Assembly: " & eb.Assembly.ToString() & vbCrLf
outputBlock.Text &= "AssemblyQualifiedName: " & eb.AssemblyQualifiedName.ToString() & vbCrLf
outputBlock.Text &= "Module: " & eb.Module.ToString() & vbCrLf
outputBlock.Text &= "Name: " & eb.Name.ToString() & vbCrLf
outputBlock.Text &= "NameSpace: " & eb.Namespace & vbCrLf
End Sub
End Class
' This code example produces output similar to the following:
'
'Elevation.Low = 0
'Elevation.High = 1
'Properties of EnumBuilder:
'Assembly: TempAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
'AssemblyQualifiedName: Elevation, TempAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
'Module: RefEmit_InMemoryManifestModule
'Name: Elevation
'NameSpace:
using System;
using System.Reflection;
using System.Reflection.Emit;
class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
// Get the current application domain.
AppDomain currentDomain = AppDomain.CurrentDomain;
// Create a dynamic assembly in the current application domain,
// and allow it to be executed.
AssemblyName aName = new AssemblyName("TempAssembly");
AssemblyBuilder ab = currentDomain.DefineDynamicAssembly(aName,
AssemblyBuilderAccess.Run);
// Define a dynamic module in "TempAssembly" assembly. The module can
// have the same name as the assembly.
ModuleBuilder mb = ab.DefineDynamicModule(aName.Name);
// Define a public enumeration with the name "Elevation" and an
// underlying type of Integer.
EnumBuilder eb = mb.DefineEnum("Elevation",
TypeAttributes.Public, typeof(int));
// Define two members, "High" and "Low".
eb.DefineLiteral("Low", 0);
eb.DefineLiteral("High", 1);
// Create the type.
Type finished = eb.CreateType();
foreach( FieldInfo fi in finished.GetFields() )
{
outputBlock.Text += String.Format("{0}.{1} = {2}\n",
finished.Name, fi.Name, fi.GetRawConstantValue());
}
outputBlock.Text += "Properties of EnumBuilder: " + "\n";
outputBlock.Text += "Assembly: " + eb.Assembly.ToString() + "\n";
outputBlock.Text += "AssemblyQualifiedName: " + eb.AssemblyQualifiedName.ToString() + "\n";
outputBlock.Text += "Module: " + eb.Module.ToString() + "\n";
outputBlock.Text += "Name: " + eb.Name.ToString() + "\n";
outputBlock.Text += "NameSpace: " + eb.Namespace + "\n";
}
}
/* This code example produces output similar to the following:
Elevation.Low = 0
Elevation.High = 1
Properties of EnumBuilder:
Assembly: TempAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
AssemblyQualifiedName: Elevation, TempAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Module: RefEmit_InMemoryManifestModule
Name: Elevation
NameSpace:
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.