MetadataReader Klas

Definitie

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

public ref class MetadataReader sealed
public sealed class MetadataReader
type MetadataReader = class
Public NotInheritable Class MetadataReader
Overname
MetadataReader

Voorbeelden

In dit voorbeeld ziet u hoe u een assembly maakt MetadataReader en alle typedefinities ervan leest:

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}");
}

Opmerkingen

Caution

Dit type is niet ontworpen voor het verwerken van niet-vertrouwde invoer. Ongeldige of schadelijke metagegevens kunnen onverwacht gedrag veroorzaken, waaronder onvoldoende geheugentoegang, crashes of vastlopen. MetadataReader Gebruik alleen met vertrouwde metagegevens, zoals metagegevens van vertrouwde assembly's.

MetadataReader leest de inhoud van tabellen en heaps uit de opgegeven CLI-metagegevens. Het werkt met constructies op laag niveau, zoals type- en methodedefinities. Zie voor een API op een hoger niveau om de inhoud van assembly's te inspecteren met behulp van weerspiegelingsconstructies MetadataLoadContext.

U kunt constructors, zoals MetadataReader(Byte*, Int32), gebruiken om een exemplaar van MetadataReader een bepaalde geheugenlocatie te maken. Als u metagegevens uit het bestand Portable Executable Assembly wilt lezen, maakt PEReader en gebruikt u de GetMetadataReader(PEReader) extensiemethode.

De indeling van CLI-metagegevens wordt gedefinieerd door de ECMA-335-specificatie. Zie Standard ECMA-335 - Common Language Infrastructure (CLI) op de website van Ecma International voor meer informatie.

Constructors

Name Description
MetadataReader(Byte*, Int32, MetadataReaderOptions, MetadataStringDecoder)

Initialiseert een nieuw exemplaar van de MetadataReader klasse op basis van de metagegevens die zijn opgeslagen op de opgegeven geheugenlocatie.

MetadataReader(Byte*, Int32, MetadataReaderOptions)

Initialiseert een nieuw exemplaar van de MetadataReader klasse op basis van de metagegevens die zijn opgeslagen op de opgegeven geheugenlocatie.

MetadataReader(Byte*, Int32)

Initialiseert een nieuw exemplaar van de MetadataReader klasse op basis van de metagegevens die zijn opgeslagen op de opgegeven geheugenlocatie.

Eigenschappen

Name Description
AssemblyFiles

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

AssemblyReferences

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

CustomAttributes

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

DeclarativeSecurityAttributes

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

EventDefinitions

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

ExportedTypes

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

FieldDefinitions

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

IsAssembly

Hiermee wordt een waarde opgehaald die aangeeft of de metagegevens een assembly vertegenwoordigen.

ManifestResources

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

MemberReferences

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

MetadataKind

Hiermee haalt u het soort metagegevens op.

MetadataVersion

Haalt de versietekenreeks op die wordt gelezen uit de header van metagegevens.

MethodDefinitions

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

Options

Hiermee wordt de MetadataReaderOptions doorgegeven aan de constructor.

PropertyDefinitions

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

StringComparer

Hiermee haalt u de vergelijkingsfunctie op die wordt gebruikt om tekenreeksen te vergelijken die zijn opgeslagen in metagegevens.

TypeDefinitions

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

TypeReferences

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetAssemblyDefinition()

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetAssemblyFile(AssemblyFileHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetAssemblyReference(AssemblyReferenceHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetBlobBytes(BlobHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetBlobContent(BlobHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetBlobReader(BlobHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetConstant(ConstantHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetCustomAttribute(CustomAttributeHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetCustomAttributes(EntityHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetDeclarativeSecurityAttribute(DeclarativeSecurityAttributeHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetEventDefinition(EventDefinitionHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetExportedType(ExportedTypeHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetFieldDefinition(FieldDefinitionHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetGenericParameter(GenericParameterHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetGenericParameterConstraint(GenericParameterConstraintHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetGuid(GuidHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetInterfaceImplementation(InterfaceImplementationHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetManifestResource(ManifestResourceHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetMemberReference(MemberReferenceHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetMethodDefinition(MethodDefinitionHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetMethodImplementation(MethodImplementationHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetMethodSpecification(MethodSpecificationHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetModuleDefinition()

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetModuleReference(ModuleReferenceHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetNamespaceDefinition(NamespaceDefinitionHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetNamespaceDefinitionRoot()

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetParameter(ParameterHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetPropertyDefinition(PropertyDefinitionHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetStandaloneSignature(StandaloneSignatureHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetString(NamespaceDefinitionHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetString(StringHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
GetTypeDefinition(TypeDefinitionHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetTypeReference(TypeReferenceHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetTypeSpecification(TypeSpecificationHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

GetUserString(UserStringHandle)

Hiermee worden metagegevens gelezen zoals gedefinieerd door de ECMA 335 CLI-specificatie.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Extensiemethoden

Name Description
GetEditAndContinueLogEntries(MetadataReader)

Opsomming van vermeldingen van EnC-logboek.

GetEditAndContinueMapEntries(MetadataReader)

Opsomming van vermeldingen van EnC-kaart.

GetHeapMetadataOffset(MetadataReader, HeapIndex)

Retourneert de offset van het begin van metagegevens naar de opgegeven heap.

GetHeapOffset(MetadataReader, Handle)

Hiermee haalt u de verschuiving op van heap-gegevens van metagegevens die overeenkomen met de opgegeven handle in de context van reader.

GetHeapSize(MetadataReader, HeapIndex)

Retourneert de grootte van de opgegeven heap.

GetNextHandle(MetadataReader, BlobHandle)

Retourneert de ingang naar de greep die volgt op de Blob opgegeven in de Blob heap of een nil ingang als dit de laatste is.

GetNextHandle(MetadataReader, StringHandle)

Retourneert de greep naar de tekenreeks die de opgegeven tekenreeks volgt in de heap van de tekenreeks, of een nil-ingang als dit de laatste is.

GetNextHandle(MetadataReader, UserStringHandle)

Retourneert de ingang naar de UserString die volgt op de opgegeven ingang in de UserString-heap of een nil-ingang als dit de laatste is.

GetRowNumber(MetadataReader, EntityHandle)

Hiermee wordt het rijnummer opgehaald van een metagegevenstabelvermelding die overeenkomt met de opgegeven handle in de context van reader.

GetTableMetadataOffset(MetadataReader, TableIndex)

Retourneert de offset van het begin van metagegevens naar de opgegeven tabel.

GetTableRowCount(MetadataReader, TableIndex)

Retourneert het aantal rijen in de opgegeven tabel.

GetTableRowSize(MetadataReader, TableIndex)

Retourneert de grootte van een rij in de opgegeven tabel.

GetToken(MetadataReader, Handle)

Hiermee haalt u het metagegevenstoken op van de opgegeven handle in de context van reader.

GetTypesWithEvents(MetadataReader)

Typen opsommen die een of meer gebeurtenissen definiëren.

GetTypesWithProperties(MetadataReader)

Typen opsommen die een of meer eigenschappen definiëren.

Van toepassing op