Export (0) Print
Expand All

ISymbolDocumentWriter Interface

Represents a document referenced by a symbol store.

Namespace: System.Diagnostics.SymbolStore
Assembly: mscorlib (in mscorlib.dll)

[ComVisibleAttribute(true)] 
public interface ISymbolDocumentWriter
/** @attribute ComVisibleAttribute(true) */ 
public interface ISymbolDocumentWriter
ComVisibleAttribute(true) 
public interface ISymbolDocumentWriter
Not applicable.

A document is defined by a URL and a document type GUID. Optionally, the document source can be stored in the symbol store.

NoteNote:

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.

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

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.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft