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

文書言語販売元識別する GUIDnull でもかまいません

documentType

文書の種類識別する GUIDnull でもかまいません

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

例外例外
例外種類条件

ArgumentNullException

urlnull 参照 (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 メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

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

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

   

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



ModuleBuilder.DefineDocument メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS