ISymbolDocumentWriter Interface
.NET Framework 3.0
Represents a document referenced by a symbol store.
Namespace: System.Diagnostics.SymbolStore
Assembly: mscorlib (in mscorlib.dll)
Assembly: mscorlib (in mscorlib.dll)
A document is defined by a URL and a document type GUID. Optionally, the document source can be stored in the symbol store.
Note: |
|---|
| This interface is the managed counterpart of the ISymUnmanagedDocumentWriter interface, one of the unmanaged symbol store interfaces that provide an alternative way to read and write debug symbol information. |
The following code example demonstrates how an ISymbolDocumentWriter can be obtained when calling DefineDocument.
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
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
Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.Community Additions
ADD
Show:
Note: