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 セキュリティ:
- ReflectionPermission SecurityAction.Demand、ReflectionEmit=true
- ReflectionPermission (Type.InvokeMember などの機構を通じて遅延バインディングで呼び出すときに必要なアクセス許可) ReflectionPermissionFlag.MemberAccess (関連する列挙体)
参照
AssemblyBuilder クラス | AssemblyBuilder メンバ | System.Reflection.Emit 名前空間 | AssemblyBuilder.DefineDynamicModule オーバーロードの一覧