次の方法で共有


AssemblyBuilder.DefineDynamicModule メソッド (String)

このアセンブリに名前付き遷移動的モジュールを定義します。

Overloads Public Function DefineDynamicModule( _
   ByVal name As String _) As ModuleBuilder
[C#]
public ModuleBuilder DefineDynamicModule(stringname);
[C++]
public: ModuleBuilder* DefineDynamicModule(String* name);
[JScript]
public function DefineDynamicModule(
   name : String) : ModuleBuilder;

パラメータ

  • name
    動的モジュールの名前。長さは 260 文字未満にする必要があります。

戻り値

定義する動的モジュールを表す ModuleBuilder

例外

例外の種類 条件
ArgumentException name の先頭が空白です。

または

name の長さが 0 です。

または

name の長さが 260 以上です。

ArgumentNullException name が null 参照 (Visual Basic では Nothing) です。
SecurityException 呼び出し元に、必要なアクセス許可がありません。

解説

1 つのアセンブリに同じ名前で複数の動的モジュールを定義するとエラーになります。

定義する動的モジュールは遷移的です。親の動的アセンブリが RunAndSave で作成されていても、動的モジュールは保存されません。

使用例

DefineDynamicModule を使用して、遷移動的モジュールを作成する方法を次のコード例に示します。

 
Dim myAppDomain As AppDomain = Thread.GetDomain()
Dim myAsmName As New AssemblyName()
myAsmName.Name = "MyAssembly"
Dim myAsmBuilder As AssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAsmName, _
                      AssemblyBuilderAccess.Run)

' Create a transient dynamic module. Since no DLL name is specified with
' this constructor, it can not be saved. 
Dim myModuleBuilder As ModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule1")

[C#] 
AppDomain myAppDomain = Thread.GetDomain(); 
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyAssembly";
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
                     myAsmName,
                     AssemblyBuilderAccess.Run);

// Create a transient dynamic module. Since no DLL name is specified with
// this constructor, it can not be saved. 
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule1");

[C++] 
AppDomain*  myAppDomain = Thread::GetDomain();
AssemblyName* myAsmName = new AssemblyName();
myAsmName->Name = S"MyAssembly";
AssemblyBuilder*  myAsmBuilder = myAppDomain->DefineDynamicAssembly(myAsmName,
   AssemblyBuilderAccess::Run);

// Create a transient dynamic module. Since no DLL name is specified with
// this constructor, it cannot be saved.
ModuleBuilder*  myModuleBuilder = myAsmBuilder->DefineDynamicModule(S"MyModule1");

[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 ファミリ

.NET Framework セキュリティ:

参照

AssemblyBuilder クラス | AssemblyBuilder メンバ | System.Reflection.Emit 名前空間 | AssemblyBuilder.DefineDynamicModule オーバーロードの一覧