MetadataReader Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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 |
| 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 |
| 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 |
| GetTypesWithEvents(MetadataReader) |
Typen opsommen die een of meer gebeurtenissen definiëren. |
| GetTypesWithProperties(MetadataReader) |
Typen opsommen die een of meer eigenschappen definiëren. |