MetadataReader クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。
public ref class MetadataReader sealed
public sealed class MetadataReader
type MetadataReader = class
Public NotInheritable Class MetadataReader
- 継承
-
MetadataReader
例
この例では、アセンブリを作成 MetadataReader し、そこからすべての型定義を読み取る方法を示します。
using var fs = new FileStream("Example.dll", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using var peReader = new PEReader(fs);
MetadataReader mr = peReader.GetMetadataReader();
foreach (TypeDefinitionHandle tdefh in mr.TypeDefinitions)
{
TypeDefinition tdef = mr.GetTypeDefinition(tdefh);
string ns = mr.GetString(tdef.Namespace);
string name = mr.GetString(tdef.Name);
Console.WriteLine($"{ns}.{name}");
}
注釈
MetadataReader は、指定された CLI メタデータからテーブルとヒープの内容を読み取ります。 型定義やメソッド定義などの下位レベルのコンストラクトが動作します。 リフレクション コンストラクトを使用してアセンブリの内容を検査する上位レベルの API については、「」を参照してください MetadataLoadContext。
などの MetadataReader(Byte*, Int32)コンストラクターを使用して、特定のメモリ位置の の MetadataReader インスタンスを作成できます。 ポータブル実行可能ファイルからメタデータを読み取る場合は、拡張メソッドを作成 PEReader して使用します GetMetadataReader(PEReader) 。
CLI メタデータの形式は、ECMA-335 仕様によって定義されます。 詳細については、Ecma International Web サイトの 「Standard ECMA-335 - 共通言語インフラストラクチャ (CLI)」 を参照してください。
コンストラクター
| MetadataReader(Byte*, Int32, MetadataReaderOptions, MetadataStringDecoder) |
指定のメモリ場所に保存されているメタデータから MetadataReader クラスの新しいインスタンスを初期化します。 |
| MetadataReader(Byte*, Int32, MetadataReaderOptions) |
指定のメモリ場所に保存されているメタデータから MetadataReader クラスの新しいインスタンスを初期化します。 |
| MetadataReader(Byte*, Int32) |
指定のメモリ場所に保存されているメタデータから MetadataReader クラスの新しいインスタンスを初期化します。 |
プロパティ
| AssemblyFiles |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| AssemblyReferences |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| CustomAttributes |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| CustomDebugInformation |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| DebugMetadataHeader |
#Pdb ストリームからデコードされた情報を取得します。あるいは、ストリームがない場合は |
| DeclarativeSecurityAttributes |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| Documents |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| EventDefinitions |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| ExportedTypes |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| FieldDefinitions |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| ImportScopes |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| IsAssembly |
メタデータがアセンブリを表すかどうかを示す値を取得します。 |
| LocalConstants |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| LocalScopes |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| LocalVariables |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| ManifestResources |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| MemberReferences |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| MetadataKind |
メタデータの種類を取得します。 |
| MetadataLength |
基になるデータの長さを取得します。 |
| MetadataPointer |
基になるデータへのポインターを取得します。 |
| MetadataVersion |
メタデータ ヘッダーから読み込まれたバージョン文字列を取得します。 |
| MethodDebugInformation |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| MethodDefinitions |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| Options |
コンストラクターに渡された MetadataReaderOptions を取得します。 |
| PropertyDefinitions |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| StringComparer |
メタデータに格納されている文字列を比較するための比較子を取得します。 |
| TypeDefinitions |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| TypeReferences |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| UTF8Decoder |
UTF8 でエンコードされたバイト シーケンスから文字列インスタンスを生成するためにリーダーによって使用されるデコーダーを取得します。 |
メソッド
| Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| GetAssemblyDefinition() |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetAssemblyFile(AssemblyFileHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetAssemblyName(String) |
指定したファイルの AssemblyName を取得します。 |
| GetAssemblyReference(AssemblyReferenceHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetBlobBytes(BlobHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetBlobContent(BlobHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetBlobReader(BlobHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetBlobReader(StringHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetConstant(ConstantHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetCustomAttribute(CustomAttributeHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetCustomAttributes(EntityHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetCustomDebugInformation(CustomDebugInformationHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetCustomDebugInformation(EntityHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetDeclarativeSecurityAttribute(DeclarativeSecurityAttributeHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetDocument(DocumentHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetEventDefinition(EventDefinitionHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetExportedType(ExportedTypeHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetFieldDefinition(FieldDefinitionHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetGenericParameter(GenericParameterHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetGenericParameterConstraint(GenericParameterConstraintHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetGuid(GuidHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetImportScope(ImportScopeHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetInterfaceImplementation(InterfaceImplementationHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetLocalConstant(LocalConstantHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetLocalScope(LocalScopeHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetLocalScopes(MethodDebugInformationHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetLocalScopes(MethodDefinitionHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetLocalVariable(LocalVariableHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetManifestResource(ManifestResourceHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetMemberReference(MemberReferenceHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetMethodDebugInformation(MethodDebugInformationHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetMethodDebugInformation(MethodDefinitionHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetMethodDefinition(MethodDefinitionHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetMethodImplementation(MethodImplementationHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetMethodSpecification(MethodSpecificationHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetModuleDefinition() |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetModuleReference(ModuleReferenceHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetNamespaceDefinition(NamespaceDefinitionHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetNamespaceDefinitionRoot() |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetParameter(ParameterHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetPropertyDefinition(PropertyDefinitionHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetStandaloneSignature(StandaloneSignatureHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetString(DocumentNameBlobHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetString(NamespaceDefinitionHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetString(StringHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| GetTypeDefinition(TypeDefinitionHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetTypeReference(TypeReferenceHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetTypeSpecification(TypeSpecificationHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| GetUserString(UserStringHandle) |
ECMA 335 CLI 仕様で定義されているとおりにメタデータを読み取ります。 |
| MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |