ModuleBuilder.DefineDocument Metódus

Definíció

Túlterhelések

Name Description
DefineDocument(String, Guid)

A forrás dokumentumát határozza meg.

DefineDocument(String, Guid, Guid, Guid)

A forrás dokumentumát határozza meg.

DefineDocument(String, Guid)

Forrás:
ModuleBuilder.cs
Forrás:
ModuleBuilder.cs
Forrás:
ModuleBuilder.cs

A forrás dokumentumát határozza meg.

public System.Diagnostics.SymbolStore.ISymbolDocumentWriter DefineDocument(string url, Guid language = default);
member this.DefineDocument : string * Guid -> System.Diagnostics.SymbolStore.ISymbolDocumentWriter
Public Function DefineDocument (url As String, Optional language As Guid = Nothing) As ISymbolDocumentWriter

Paraméterek

url
String

A dokumentum URL-címe.

language
Guid

A dokumentum nyelvét azonosító GUID. Ez nem kötelező.

Válaszok

A megadott dokumentum.

Kivételek

url az null.

Ez a metódus olyan dinamikus modulon van meghívva, amely nem tartósított modul.

A következőre érvényes:

DefineDocument(String, Guid, Guid, Guid)

Forrás:
ModuleBuilder.cs
Forrás:
ModuleBuilder.cs
Forrás:
ModuleBuilder.cs

A forrás dokumentumát határozza meg.

public:
 System::Diagnostics::SymbolStore::ISymbolDocumentWriter ^ DefineDocument(System::String ^ url, Guid language, Guid languageVendor, Guid documentType);
public System.Diagnostics.SymbolStore.ISymbolDocumentWriter DefineDocument(string url, Guid language, Guid languageVendor, Guid documentType);
member this.DefineDocument : string * Guid * Guid * Guid -> System.Diagnostics.SymbolStore.ISymbolDocumentWriter
Public Function DefineDocument (url As String, language As Guid, languageVendor As Guid, documentType As Guid) As ISymbolDocumentWriter

Paraméterek

url
String

A dokumentum URL-címe.

language
Guid

A dokumentum nyelvét azonosító GUID. Ez lehet Empty.

languageVendor
Guid

A dokumentumnyelv-szállítót azonosító GUID. Ez lehet Empty.

documentType
Guid

A dokumentumtípust azonosító GUID. Ez lehet Empty.

Válaszok

A megadott dokumentum.

Kivételek

url az null. Ez a .NET-keretrendszer korábbi verzióihoz való változás.

Ez a metódus olyan dinamikus modulon van meghívva, amely nem hibakeresési modul.

Példák

Az alábbi kódminta egy külső szimbólumdokumentum (ebben az esetben egy nyers IL-fájl) dinamikus modulhoz való csatolásának DefineDocument használatát mutatja be.

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();
      }
   }
}
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
   End Class

   Public Class CallerClass

      Public Shared Sub Main()
         Dim myGenerator As New CodeGenerator()
      End Sub
   End Class
End Namespace 'ILGenServer

Megjegyzések

Important

A .NET-keretrendszer korábbi verziói ArgumentException dobnak ArgumentNullException helyett, ha urlnull.

A következőre érvényes: