MetadataReader Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur.
public ref class MetadataReader sealed
public sealed class MetadataReader
type MetadataReader = class
Public NotInheritable Class MetadataReader
- Devralma
-
MetadataReader
Örnekler
Bu örnekte, bir derleme için oluşturma MetadataReader ve ondan tüm tür tanımlarını okuma işlemleri gösterilmektedir:
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}");
}
Açıklamalar
MetadataReader belirtilen CLI meta verilerinden tabloların ve yığınların içeriğini okur. Tür ve yöntem tanımları gibi alt düzey yapıları çalıştırır. Yansıma yapılarını kullanarak derlemelerin içeriğini incelemeye yönelik daha üst düzey bir API için bkz MetadataLoadContext. .
Belirli bir bellek konumu için örneğini MetadataReader oluşturmak için gibi MetadataReader(Byte*, Int32)oluşturucuları kullanabilirsiniz. Taşınabilir Yürütülebilir Derleme dosyasından meta verileri okumak için uzantı yöntemini oluşturun PEReader ve kullanın GetMetadataReader(PEReader) .
CLI meta verilerinin biçimi ECMA-335 belirtimi tarafından tanımlanır. Daha fazla bilgi için Ecma Uluslararası Web sitesindeki Standart ECMA-335 - Ortak Dil Altyapısı (CLI) bölümüne bakın.
Oluşturucular
MetadataReader(Byte*, Int32, MetadataReaderOptions, MetadataStringDecoder) |
Verilen bellek konumunda depolanan meta verilerden sınıfının yeni bir örneğini MetadataReader başlatır. |
MetadataReader(Byte*, Int32, MetadataReaderOptions) |
Verilen bellek konumunda depolanan meta verilerden sınıfının yeni bir örneğini MetadataReader başlatır. |
MetadataReader(Byte*, Int32) |
Verilen bellek konumunda depolanan meta verilerden sınıfının yeni bir örneğini MetadataReader başlatır. |
Özellikler
AssemblyFiles |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
AssemblyReferences |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
CustomAttributes |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
CustomDebugInformation |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
DebugMetadataHeader |
#Pdb akışından veya |
DeclarativeSecurityAttributes |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
Documents |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
EventDefinitions |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
ExportedTypes |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
FieldDefinitions |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
ImportScopes |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
IsAssembly |
Meta verilerin bir derlemeyi temsil edip etmediğini gösteren bir değer alır. |
LocalConstants |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
LocalScopes |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
LocalVariables |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
ManifestResources |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
MemberReferences |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
MetadataKind |
Meta veri türünü alır. |
MetadataLength |
Temel alınan verilerin uzunluğunu alır. |
MetadataPointer |
temel alınan verilerin işaretçisini alır. |
MetadataVersion |
Meta veri üst bilgisinden okunan sürüm dizesini alır. |
MethodDebugInformation |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
MethodDefinitions |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
Options |
MetadataReaderOptions Oluşturucuya geçirileni alır. |
PropertyDefinitions |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
StringComparer |
Meta verilerde depolanan dizeleri karşılaştırmak için kullanılan karşılaştırıcıyı alır. |
TypeDefinitions |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
TypeReferences |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
UTF8Decoder |
UTF8 ile kodlanmış bayt dizilerinden dize örnekleri üretmek için okuyucu tarafından kullanılan kod çözücüsü alır. |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetAssemblyDefinition() |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetAssemblyFile(AssemblyFileHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetAssemblyName(String) |
Belirli bir dosyanın öğesini AssemblyName alır. |
GetAssemblyReference(AssemblyReferenceHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetBlobBytes(BlobHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetBlobContent(BlobHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetBlobReader(BlobHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetBlobReader(StringHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetConstant(ConstantHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetCustomAttribute(CustomAttributeHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetCustomAttributes(EntityHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetCustomDebugInformation(CustomDebugInformationHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetCustomDebugInformation(EntityHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetDeclarativeSecurityAttribute(DeclarativeSecurityAttributeHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetDocument(DocumentHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetEventDefinition(EventDefinitionHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetExportedType(ExportedTypeHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetFieldDefinition(FieldDefinitionHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetGenericParameter(GenericParameterHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetGenericParameterConstraint(GenericParameterConstraintHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetGuid(GuidHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetImportScope(ImportScopeHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetInterfaceImplementation(InterfaceImplementationHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetLocalConstant(LocalConstantHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetLocalScope(LocalScopeHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetLocalScopes(MethodDebugInformationHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetLocalScopes(MethodDefinitionHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetLocalVariable(LocalVariableHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetManifestResource(ManifestResourceHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetMemberReference(MemberReferenceHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetMethodDebugInformation(MethodDebugInformationHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetMethodDebugInformation(MethodDefinitionHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetMethodDefinition(MethodDefinitionHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetMethodImplementation(MethodImplementationHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetMethodSpecification(MethodSpecificationHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetModuleDefinition() |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetModuleReference(ModuleReferenceHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetNamespaceDefinition(NamespaceDefinitionHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetNamespaceDefinitionRoot() |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetParameter(ParameterHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetPropertyDefinition(PropertyDefinitionHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetStandaloneSignature(StandaloneSignatureHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetString(DocumentNameBlobHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetString(NamespaceDefinitionHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetString(StringHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
GetTypeDefinition(TypeDefinitionHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetTypeReference(TypeReferenceHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetTypeSpecification(TypeSpecificationHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
GetUserString(UserStringHandle) |
ECMA 335 CLI belirtimi tarafından tanımlanan meta verileri okur. |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Uzantı Metotları
GetEditAndContinueLogEntries(MetadataReader) |
EnC günlüğü girdilerini numaralandırır. |
GetEditAndContinueMapEntries(MetadataReader) |
EnC eşlemesi girdilerini numaralandırır. |
GetHeapMetadataOffset(MetadataReader, HeapIndex) |
Meta verilerin başlangıcından belirtilen yığına uzaklığı döndürür. |
GetHeapSize(MetadataReader, HeapIndex) |
Belirtilen yığının boyutunu döndürür. |
GetNextHandle(MetadataReader, BlobHandle) |
Yığında Blob verileni izleyen tutamacı Blob veya sonuncusuysa bir nil tutamacını döndürür. |
GetNextHandle(MetadataReader, StringHandle) |
Dize yığınında verileni izleyen dizenin tutamacını veya sonuncusuysa sıfır tutamacını döndürür. |
GetNextHandle(MetadataReader, UserStringHandle) |
UserString yığınında verilen tanıtıcıyı izleyen UserString tutamacını veya sonuncusuysa bir nil tutamacını döndürür. |
GetTableMetadataOffset(MetadataReader, TableIndex) |
Meta verilerin başlangıcından belirtilen tabloya uzaklığı döndürür. |
GetTableRowCount(MetadataReader, TableIndex) |
Belirtilen tablodaki satır sayısını döndürür. |
GetTableRowSize(MetadataReader, TableIndex) |
Belirtilen tablodaki bir satırın boyutunu döndürür. |
GetTypesWithEvents(MetadataReader) |
Bir veya daha fazla olayı tanımlayan türleri numaralandır. |
GetTypesWithProperties(MetadataReader) |
Bir veya daha fazla özelliği tanımlayan türleri numaralandır. |
ResolveSignatureTypeKind(MetadataReader, EntityHandle, Byte) |
Bir tür tutamacı ve imza blobunda bulunan ham tür türü verildiğinde, hedef türün bir değer türü mü yoksa başvuru türü mü olduğunu belirler. |
GetHeapOffset(MetadataReader, Handle) |
bağlamında belirtilene |
GetRowNumber(MetadataReader, EntityHandle) |
bağlamında belirtilene |
GetToken(MetadataReader, EntityHandle) |
bağlamında belirtilen |
GetToken(MetadataReader, Handle) |
bağlamında belirtilen |