シンボル ストアで使用するドキュメントの種類のパブリック GUID を格納します。
この型のすべてのメンバの一覧については、SymDocumentType メンバ を参照してください。
System.Object
System.Diagnostics.SymbolStore.SymDocumentType
Public Class SymDocumentType
[C#]
public class SymDocumentType
[C++]
public __gc class SymDocumentType
[JScript]
public class SymDocumentType
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
使用例
[Visual Basic, C#, C++] DefineDocument を呼び出したときに SymDocumentType がどのように使用されるかについては、次のコード例を参照してください。
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 内)