次の方法で共有


ModuleBuilder.DefineType メソッド

定義

TypeBuilder を構築します。 値型を定義するには、ValueType から派生する型を定義します。

オーバーロード

DefineType(String, TypeAttributes, Type, Type[])

型名、属性、定義された型によって拡張される型、および定義された型によって実装されるインターフェイスを指定して、TypeBuilder を構築します。

DefineType(String, TypeAttributes, Type, PackingSize, Int32)

型名、属性、定義された型によって拡張される型、定義された型のパッキング サイズ、および定義された型の合計サイズを指定して、TypeBuilder を構築します。

DefineType(String, TypeAttributes, Type, PackingSize)

型名、属性、定義された型によって拡張される型、および型のパッキング サイズを指定して、TypeBuilder を構築します。

DefineType(String, TypeAttributes)

型名と型属性を指定して、TypeBuilder を構築します。

DefineType(String, TypeAttributes, Type)

型名、属性、および定義された型によって拡張される型を指定して、TypeBuilder を構築します。

DefineType(String, TypeAttributes, Type, Int32)

型名、属性、定義された型によって拡張される型、および型の合計サイズを指定して、TypeBuilder を構築します。

DefineType(String)

このモジュールで、指定した名前のプライベート型の TypeBuilder を構築します。

DefineType(String, TypeAttributes, Type, Type[])

ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs

型名、属性、定義された型によって拡張される型、および定義された型によって実装されるインターフェイスを指定して、TypeBuilder を構築します。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, cli::array <Type ^> ^ interfaces);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type? parent, Type[]? interfaces);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent, Type[] interfaces);
[System.Runtime.InteropServices.ComVisible(true)]
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent, Type[] interfaces);
member this.DefineType : string * System.Reflection.TypeAttributes * Type * Type[] -> System.Reflection.Emit.TypeBuilder
[<System.Runtime.InteropServices.ComVisible(true)>]
member this.DefineType : string * System.Reflection.TypeAttributes * Type * Type[] -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes, parent As Type, interfaces As Type()) As TypeBuilder

パラメーター

name
String

型の完全なパス。 name に埋め込み null 値を含めることはできません。

attr
TypeAttributes

型に関連付ける属性。

parent
Type

定義された型を拡張する型。

interfaces
Type[]

型が実装するインターフェイスのリスト。

戻り値

要求された属性をすべて指定して作成された TypeBuilder

属性

例外

指定された名前の型が、このモジュールの親アセンブリに存在します。

- または -

入れ子にされた型の属性は、入れ子になっていない型に対して設定されます。

namenullです。

次の例では、 を使用してCreateType現在の動的モジュールに を作成TypeBuilderし、型をビルドして完了し、アセンブリを保存します。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

注釈

型名はアセンブリ内で一意である必要があります。 アセンブリの 2 つの異なるモジュールに同じ名前の 2 つの型を含めることはできません。

注意

.NET Framework 2.0 Service Pack 1 以降では、このメンバーは フラグをReflectionPermissionFlag.ReflectionEmit使用する必要ReflectionPermissionがなくなりました。 (リフレクション出力のセキュリティの問題に関するページを参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。

適用対象

DefineType(String, TypeAttributes, Type, PackingSize, Int32)

ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs

型名、属性、定義された型によって拡張される型、定義された型のパッキング サイズ、および定義された型の合計サイズを指定して、TypeBuilder を構築します。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, System::Reflection::Emit::PackingSize packingSize, int typesize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type? parent, System.Reflection.Emit.PackingSize packingSize, int typesize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent, System.Reflection.Emit.PackingSize packingSize, int typesize);
member this.DefineType : string * System.Reflection.TypeAttributes * Type * System.Reflection.Emit.PackingSize * int -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes, parent As Type, packingSize As PackingSize, typesize As Integer) As TypeBuilder

パラメーター

name
String

型の完全なパス。 name に埋め込み null 値を含めることはできません。

attr
TypeAttributes

定義された型の属性。

parent
Type

定義された型を拡張する型。

packingSize
PackingSize

型のパッキング サイズ。

typesize
Int32

型の合計サイズ。

戻り値

要求された属性をすべて指定して作成された TypeBuilder

例外

指定された名前の型が、このモジュールの親アセンブリに存在します。

- または -

入れ子にされた型の属性は、入れ子になっていない型に対して設定されます。

namenullです。

次の例では、 を使用してCreateType現在の動的モジュールに を作成TypeBuilderし、型をビルドして完了し、アセンブリを保存します。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

注釈

型名はアセンブリ内で一意である必要があります。 アセンブリの 2 つの異なるモジュールに同じ名前の 2 つの型を含めることはできません。

注意

.NET Framework 2.0 Service Pack 1 以降では、このメンバーは フラグをReflectionPermissionFlag.ReflectionEmit使用する必要ReflectionPermissionがなくなりました。 (リフレクション出力のセキュリティの問題に関するページを参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。

適用対象

DefineType(String, TypeAttributes, Type, PackingSize)

ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs

型名、属性、定義された型によって拡張される型、および型のパッキング サイズを指定して、TypeBuilder を構築します。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, System::Reflection::Emit::PackingSize packsize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type? parent, System.Reflection.Emit.PackingSize packsize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent, System.Reflection.Emit.PackingSize packsize);
member this.DefineType : string * System.Reflection.TypeAttributes * Type * System.Reflection.Emit.PackingSize -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes, parent As Type, packsize As PackingSize) As TypeBuilder

パラメーター

name
String

型の完全なパス。 name に埋め込み null 値を含めることはできません。

attr
TypeAttributes

定義された型の属性。

parent
Type

定義された型を拡張する型。

packsize
PackingSize

型のパッキング サイズ。

戻り値

TypeBuilder オブジェクト。

例外

指定された名前の型が、このモジュールの親アセンブリに存在します。

- または -

入れ子にされた型の属性は、入れ子になっていない型に対して設定されます。

namenullです。

次の例では、 を使用してCreateType現在の動的モジュールに を作成TypeBuilderし、型をビルドして完了し、アセンブリを保存します。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

注釈

型名はアセンブリ内で一意である必要があります。 アセンブリの 2 つの異なるモジュールに同じ名前の 2 つの型を含めることはできません。

注意

.NET Framework 2.0 Service Pack 1 以降では、このメンバーは フラグをReflectionPermissionFlag.ReflectionEmit使用する必要ReflectionPermissionがなくなりました。 (リフレクション出力のセキュリティの問題に関するページを参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。

適用対象

DefineType(String, TypeAttributes)

ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs

型名と型属性を指定して、TypeBuilder を構築します。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr);
member this.DefineType : string * System.Reflection.TypeAttributes -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes) As TypeBuilder

パラメーター

name
String

型の完全なパス。 name に埋め込み null 値を含めることはできません。

attr
TypeAttributes

定義された型の属性。

戻り値

要求された属性をすべて指定して作成された TypeBuilder

例外

指定された名前の型が、このモジュールの親アセンブリに存在します。

- または -

入れ子にされた型の属性は、入れ子になっていない型に対して設定されます。

namenullです。

次の例では、 を使用してCreateType現在の動的モジュールに を作成TypeBuilderし、型をビルドして完了し、アセンブリを保存します。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

注釈

型名はアセンブリ内で一意である必要があります。 アセンブリの 2 つの異なるモジュールに同じ名前の 2 つの型を含めることはできません。

注意

.NET Framework 2.0 Service Pack 1 以降では、このメンバーは フラグをReflectionPermissionFlag.ReflectionEmit使用する必要ReflectionPermissionがなくなりました。 (リフレクション出力のセキュリティの問題に関するページを参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。

適用対象

DefineType(String, TypeAttributes, Type)

ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs

型名、属性、および定義された型によって拡張される型を指定して、TypeBuilder を構築します。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type? parent);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent);
member this.DefineType : string * System.Reflection.TypeAttributes * Type -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes, parent As Type) As TypeBuilder

パラメーター

name
String

型の完全なパス。 name に埋め込み null 値を含めることはできません。

attr
TypeAttributes

型に関連付ける属性。

parent
Type

定義された型を拡張する型。

戻り値

要求された属性をすべて指定して作成された TypeBuilder

例外

指定された名前の型が、このモジュールの親アセンブリに存在します。

- または -

入れ子にされた型の属性は、入れ子になっていない型に対して設定されます。

namenullです。

次の例では、 を使用してCreateType現在の動的モジュールに を作成TypeBuilderし、型をビルドして完了し、アセンブリを保存します。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

注釈

型名はアセンブリ内で一意である必要があります。 アセンブリの 2 つの異なるモジュールに同じ名前の 2 つの型を含めることはできません。

注意

.NET Framework 2.0 Service Pack 1 以降では、このメンバーは フラグを指定するReflectionPermissionFlag.ReflectionEmit必要ReflectionPermissionがなくなりました。 (リフレクション出力のセキュリティの問題に関するページを参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。

適用対象

DefineType(String, TypeAttributes, Type, Int32)

ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs

型名、属性、定義された型によって拡張される型、および型の合計サイズを指定して、TypeBuilder を構築します。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, int typesize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type? parent, int typesize);
public System.Reflection.Emit.TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, Type parent, int typesize);
member this.DefineType : string * System.Reflection.TypeAttributes * Type * int -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String, attr As TypeAttributes, parent As Type, typesize As Integer) As TypeBuilder

パラメーター

name
String

型の完全なパス。 name に埋め込み null 値を含めることはできません。

attr
TypeAttributes

定義された型の属性。

parent
Type

定義された型を拡張する型。

typesize
Int32

型の合計サイズ。

戻り値

TypeBuilder オブジェクト。

例外

指定された名前の型が、このモジュールの親アセンブリに存在します。

- または -

入れ子にされた型の属性は、入れ子になっていない型に対して設定されます。

namenullです。

次の例では、 を使用してCreateType現在の動的モジュールに を作成TypeBuilderし、型をビルドして完了し、アセンブリを保存します。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

注釈

型名はアセンブリ内で一意である必要があります。 アセンブリの 2 つの異なるモジュールで同じ名前の 2 つの型を持つことは禁止されています。

注意

.NET Framework 2.0 Service Pack 1 以降では、このメンバーは フラグを指定するReflectionPermissionFlag.ReflectionEmit必要ReflectionPermissionがなくなりました。 (リフレクション出力のセキュリティの問題に関するページを参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。

適用対象

DefineType(String)

ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs
ソース:
ModuleBuilder.cs

このモジュールで、指定した名前のプライベート型の TypeBuilder を構築します。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineType(System::String ^ name);
public System.Reflection.Emit.TypeBuilder DefineType (string name);
member this.DefineType : string -> System.Reflection.Emit.TypeBuilder
Public Function DefineType (name As String) As TypeBuilder

パラメーター

name
String

名前空間を含む、型の完全なパス。 name に埋め込み null 値を含めることはできません。

戻り値

指定した名前のプライベート型。

例外

指定された名前の型が、このモジュールの親アセンブリに存在します。

- または -

入れ子にされた型の属性は、入れ子になっていない型に対して設定されます。

namenullです。

次の例では、 を使用してCreateType現在の動的モジュールに を作成TypeBuilderし、型をビルドして完了し、アセンブリを保存します。

AssemblyName^ asmname = gcnew AssemblyName;
asmname->Name = "assemfilename.exe";
AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()->
   DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave );
ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" );
typebuild1->CreateType();
asmbuild->Save( "assemfilename.exe" );
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
            DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule( "modulename",
   "assemfilename.exe" );
TypeBuilder typebuild1 = modbuild.DefineType( "typename" );
typebuild1.CreateType();
asmbuild.Save( "assemfilename.exe" );
Dim asmname As New AssemblyName()
asmname.Name = "assemfilename.exe"
Dim asmbuild As AssemblyBuilder = _
   System.Threading.Thread.GetDomain().DefineDynamicAssembly(asmname, _
   AssemblyBuilderAccess.RunAndSave)
Dim modbuild As ModuleBuilder = _
   asmbuild.DefineDynamicModule("modulename", "assemfilename.exe")
Dim typebuild1 As TypeBuilder = modbuild.DefineType("typename")
typebuild1.CreateType()
asmbuild.Save("assemfilename.exe")

注釈

型名はアセンブリ内で一意である必要があります。 アセンブリの 2 つの異なるモジュールに同じ名前の 2 つの型を含めることはできません。

注意

.NET Framework 2.0 Service Pack 1 以降では、このメンバーは フラグを指定するReflectionPermissionFlag.ReflectionEmit必要ReflectionPermissionがなくなりました。 (リフレクション出力のセキュリティの問題に関するページを参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。

適用対象