ISymbolDocumentWriter Interface

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Represents a document referenced by a symbol store.

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

[ComVisibleAttribute(true)]
public interface ISymbolDocumentWriter

NameDescription
System_CAPS_pubmethodSetCheckSum(Guid, Byte[])

Sets checksum information.

System_CAPS_pubmethodSetSource(Byte[])

Stores the raw source for a document in the symbol store.

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

System_CAPS_noteNote

This interface is the managed counterpart of the ISymUnmanagedDocumentWriter interface, which is one of the unmanaged symbol store interfaces that provide an alternate 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();
      }
   }
}

.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.1
Return to top
Show: