EnumBuilder.AssemblyQualifiedName プロパティ
親アセンブリの表示名で限定されたこの列挙型 (Enum) の完全パスを返します。
Overrides Public ReadOnly Property AssemblyQualifiedName As String
[C#]
public override string AssemblyQualifiedName {get;}
[C++]
public: __property String* get_AssemblyQualifiedName();
[JScript]
public override function get AssemblyQualifiedName() : String;
プロパティ値
読み取り専用。親アセンブリの表示名で限定されたこの列挙型 (Enum) の完全パス。
例外
例外の種類 | 条件 |
---|---|
NotSupportedException | CreateType がまだ呼び出されていない場合。 |
解説
返される文字列の形式は次のとおりです。
<FullTypeName>, <AssemblyDisplayName>
アセンブリの表示名の書式については、 AssemblyName のトピックを参照してください。
使用例
[Visual Basic, C#, C++] 次のコード例は、 AssemblyQualifiedName プロパティを使用して、現在の 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("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 '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
[C#]
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();
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Threading;
using namespace System::Reflection;
using namespace System::Reflection::Emit;
public __gc 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();
IEnumerator* myEnum = myTypeArray->GetEnumerator();
while (myEnum->MoveNext())
{
Type* myType = __try_cast<Type*>(myEnum->Current);
Console::WriteLine(S"Enum Builder defined in the module builder is: {0}", myType->Name);
}
Console::WriteLine(S"Properties of EnumBuilder : ");
Console::WriteLine(S"Enum Assembly is :{0}", myEnumBuilder->Assembly);
Console::WriteLine(S"Enum AssemblyQualifiedName is :{0}", myEnumBuilder->AssemblyQualifiedName);
Console::WriteLine(S"Enum Module is :{0}", myEnumBuilder->Module);
Console::WriteLine(S"Enum Name is :{0}", myEnumBuilder->Name);
Console::WriteLine(S"Enum NameSpace is :{0}", myEnumBuilder->Namespace);
myAssemblyBuilder->Save(S"EmittedAssembly.dll");
}
catch(NotSupportedException* ex)
{
Console::WriteLine(S"The following is the exception is raised: {0}", ex->Message);
}
catch(Exception* e)
{
Console::WriteLine(S"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 = new AssemblyName();
myAssemblyName->Name = S"EmittedAssembly";
// Create the dynamic assembly.
myAssemblyBuilder = myAppDomain->DefineDynamicAssembly(myAssemblyName,
AssemblyBuilderAccess::Save);
// Create a dynamic module.
myModuleBuilder = myAssemblyBuilder->DefineDynamicModule(S"EmittedModule",
S"EmittedModule.mod");
// Create a dynamic Enum.
myEnumBuilder = myModuleBuilder->DefineEnum(S"MyNamespace.MyEnum",
TypeAttributes::Public, __typeof(Int32));
FieldBuilder* myFieldBuilder1 = myEnumBuilder->DefineLiteral(S"FieldOne",__box(1));
FieldBuilder* myFieldBuilder2 = myEnumBuilder->DefineLiteral(S"FieldTwo",__box(2));
myEnumBuilder->CreateType();
}
};
int main()
{
MyEnumBuilderSample::Main();
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
EnumBuilder クラス | EnumBuilder メンバ | System.Reflection.Emit 名前空間