ModuleBuilder.DefineDocument メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ModuleBuilder.DefineDocument メソッドの意味・解説 

ModuleBuilder.DefineDocument メソッド

ソースの文書を定義します。

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Function DefineDocument ( _
    url As String, _
    language As Guid, _
    languageVendor As Guid, _
    documentType As Guid _
) As ISymbolDocumentWriter
Dim instance As ModuleBuilder
Dim url As String
Dim language As Guid
Dim languageVendor As Guid
Dim documentType As Guid
Dim returnValue As ISymbolDocumentWriter

returnValue = instance.DefineDocument(url, language, languageVendor, documentType)
public ISymbolDocumentWriter DefineDocument (
    string url,
    Guid language,
    Guid languageVendor,
    Guid documentType
)
public:
ISymbolDocumentWriter^ DefineDocument (
    String^ url, 
    Guid language, 
    Guid languageVendor, 
    Guid documentType
)
public ISymbolDocumentWriter DefineDocument (
    String url, 
    Guid language, 
    Guid languageVendor, 
    Guid documentType
)
public function DefineDocument (
    url : String, 
    language : Guid, 
    languageVendor : Guid, 
    documentType : Guid
) : ISymbolDocumentWriter

パラメータ

url

文書の URL。

language

文書の言語を識別するグローバル一意識別子 (GUID: Globally Unique IDentifier)。null でもかまいません。

languageVendor

文書の言語の販売元を識別する GUID。null でもかまいません。

documentType

文書の種類を識別する GUID。null でもかまいません。

戻り値
定義する文書を表す ISymbolDocumentWriter オブジェクト。

例外例外
例外の種類条件

ArgumentNullException

url が null 参照 (Visual Basic では Nothing) です。

InvalidOperationException

このメソッドは、デバッグ モジュールではない動的モジュールに対して呼び出されます。

使用例使用例

次のコード例は、DefineDocument を使用して、外部のシンボル ドキュメント (この場合は、生の IL ファイル) を動的モジュールに結び付ける方法を示しています。

Imports System
Imports System.Reflection
Imports System.Reflection.Emit
Imports System.Resources
Imports System.Diagnostics.SymbolStore

Namespace ILGenServer

   Public Class CodeGenerator
      Private myModuleBuilder As ModuleBuilder
      Private myAssemblyBuilder As AssemblyBuilder

      Public Sub New()

         ' Get the current application domain for the current thread.
         Dim currentDomain As AppDomain = AppDomain.CurrentDomain
         Dim myAssemblyName As New
 AssemblyName()
         myAssemblyName.Name = "TempAssembly"

         ' Define a dynamic assembly in the current domain.
         myAssemblyBuilder = currentDomain.DefineDynamicAssembly(myAssemblyName,
 _
                                                         AssemblyBuilderAccess.RunAndSave)
         ' Define a dynamic module in "TempAssembly" assembly.
         myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule",
 "Resource.mod", True)

         ' Define a document for source.on 'TempModule' module.
         Dim myDocument As ISymbolDocumentWriter
 = myModuleBuilder.DefineDocument("RTAsm.il", _
                     SymDocumentType.Text, SymLanguageType.ILAssembly, SymLanguageVendor.Microsoft)
         Console.WriteLine("The object representing the defined
 document is:" + _
                                                             CObj(myDocument).ToString())

      End Sub 'New
   End Class 'CodeGenerator

   Public Class CallerClass

      Public Shared Sub
 Main()
         Dim myGenerator As New
 CodeGenerator()
      End Sub 'Main
   End Class 'CallerClass
End Namespace 'ILGenServer
using System;
using System.Reflection;
using System.Reflection.Emit;
using System.Resources;
using System.Diagnostics.SymbolStore;

namespace ILGenServer
{
   public class CodeGenerator
   {
      ModuleBuilder myModuleBuilder ;
      AssemblyBuilder myAssemblyBuilder ;

      public CodeGenerator()
      {

         // Get the current application domain for the current thread.
         AppDomain currentDomain = AppDomain.CurrentDomain;
         AssemblyName myAssemblyName = new AssemblyName();
         myAssemblyName.Name = "TempAssembly";

         // Define a dynamic assembly in the current domain.
         myAssemblyBuilder =
            currentDomain.DefineDynamicAssembly
                        (myAssemblyName, AssemblyBuilderAccess.RunAndSave);
         // Define a dynamic module in "TempAssembly" assembly.
         myModuleBuilder =
            myAssemblyBuilder.DefineDynamicModule("TempModule","Resource.mod"
,true);

         // Define a document for source.on 'TempModule' module.
         ISymbolDocumentWriter myDocument =
         myModuleBuilder.DefineDocument("RTAsm.il", SymDocumentType.Text
,
                  SymLanguageType.ILAssembly,SymLanguageVendor.Microsoft);

         Console.WriteLine("The object representing the defined document is:"+myDocument);

      }
   }
   public class CallerClass
   {
      public static void
 Main()
      {
         CodeGenerator myGenerator = new CodeGenerator();
      }
   }
}
using namespace System;
using namespace System::Reflection;
using namespace System::Reflection::Emit;
using namespace System::Resources;
using namespace System::Diagnostics::SymbolStore;
public ref class CodeGenerator
{
private:
   ModuleBuilder^ myModuleBuilder;
   AssemblyBuilder^ myAssemblyBuilder;

public:
   CodeGenerator()
   {
      
      // Get the current application domain for the current thread.
      AppDomain^ currentDomain = AppDomain::CurrentDomain;
      AssemblyName^ myAssemblyName = gcnew AssemblyName;
      myAssemblyName->Name = "TempAssembly";
      
      // Define a dynamic assembly in the current domain.
      myAssemblyBuilder = currentDomain->DefineDynamicAssembly( myAssemblyName,
 AssemblyBuilderAccess::RunAndSave );
      
      // Define a dynamic module in S"TempAssembly" assembly.
      myModuleBuilder = myAssemblyBuilder->DefineDynamicModule( "TempModule",
 "Resource.mod", true );
      
      // Define a document for source.on 'TempModule' module.
      ISymbolDocumentWriter^ myDocument = myModuleBuilder->DefineDocument( "RTAsm.il",
 SymDocumentType::Text, SymLanguageType::ILAssembly, SymLanguageVendor::Microsoft
 );
      Console::WriteLine( "The object representing the defined document is:
 {0}", myDocument );
   }

};

int main()
{
   CodeGenerator^ myGenerator = gcnew CodeGenerator;
}

import System.*;
import System.Reflection.*;
import System.Reflection.Emit.*;
import System.Resources.*;
import System.Diagnostics.SymbolStore.*;

public class CodeGenerator
{
    private ModuleBuilder myModuleBuilder;
    private AssemblyBuilder myAssemblyBuilder;

    public CodeGenerator()
    {
        // Get the current application domain for the current thread.
        AppDomain currentDomain = AppDomain.get_CurrentDomain();
        AssemblyName myAssemblyName = new AssemblyName();
        myAssemblyName.set_Name("TempAssembly");

        // Define a dynamic assembly in the current domain.
        myAssemblyBuilder = currentDomain.DefineDynamicAssembly(myAssemblyName,
            AssemblyBuilderAccess.RunAndSave);

        // Define a dynamic module in "TempAssembly" assembly.
        myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule"
,
            "Resource.mod", true);

        // Define a document for source.on 'TempModule' module.
        ISymbolDocumentWriter myDocument = myModuleBuilder.DefineDocument(
            "RTAsm.il", SymDocumentType.Text, SymLanguageType.ILAssembly,
 
            SymLanguageVendor.Microsoft);

        Console.WriteLine("The object representing the defined document is:"
 
            + myDocument);
    } //CodeGenerator 
} //CodeGenerator

public class CallerClass
 {
     public static void
 main(String[] args)
     {
         CodeGenerator myGenerator = new CodeGenerator();
     } //main
 } //CallerClass
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ModuleBuilder クラス
ModuleBuilder メンバ
System.Reflection.Emit 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からModuleBuilder.DefineDocument メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からModuleBuilder.DefineDocument メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からModuleBuilder.DefineDocument メソッド を検索

英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ModuleBuilder.DefineDocument メソッド」の関連用語

ModuleBuilder.DefineDocument メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ModuleBuilder.DefineDocument メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS