シンボル ストアによって参照されるドキュメントを表します。
この型のすべてのメンバの一覧については、ISymbolDocumentWriter メンバ を参照してください。
Public Interface ISymbolDocumentWriter
[C#]
public interface ISymbolDocumentWriter
[C++]
public __gc __interface ISymbolDocumentWriter
[JScript]
public interface ISymbolDocumentWriter
解説
ドキュメントは URL とドキュメントの種類の GUID で定義します。シンボル ストアには、ドキュメント ソースも格納できます。
メモ このインターフェイスは、『Debug Reference』 (%\Microsoft.NET\Framework SDK\Tool Developers Guide\Docs ディレクトリ) で定義されている、 ISymUnmanagedDocumentWriter インターフェイスのマネージ版です。『Debug Reference』で説明されているアンマネージ シンボル ストア インターフェイスには、シンボリック情報の書き込みと操作のための代替アンマネージ API が用意されています。
使用例
[Visual Basic, C#, C++] DefineDocument を呼び出したときに ISymbolDocumentWriter を取得する方法を次の例で示します。
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
[C#]
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();
}
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Reflection;
using namespace System::Reflection::Emit;
using namespace System::Resources;
using namespace System::Diagnostics::SymbolStore;
public __gc 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 = S"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(S"TempModule", S"Resource.mod", true);
// Define a document for source.on 'TempModule' module.
ISymbolDocumentWriter* myDocument =
myModuleBuilder->DefineDocument(S"RTAsm.il", SymDocumentType::Text,
SymLanguageType::ILAssembly, SymLanguageVendor::Microsoft);
Console::WriteLine(S"The object representing the defined document is: {0}", myDocument);
}
};
int main() {
CodeGenerator* myGenerator = new CodeGenerator();
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン
をクリックします。
必要条件
名前空間: System.Diagnostics.SymbolStore
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: Mscorlib (Mscorlib.dll 内)
参照
ISymbolDocumentWriter メンバ | System.Diagnostics.SymbolStore 名前空間 | ISymbolWriter | ILGenerator.MarkSequencePoint | ModuleBuilder.DefineDocument