MetadataReader Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335.
public ref class MetadataReader sealed
public sealed class MetadataReader
type MetadataReader = class
Public NotInheritable Class MetadataReader
- Héritage
-
MetadataReader
Exemples
Cet exemple montre comment créer MetadataReader pour un assembly et lire toutes les définitions de type à partir de celui-ci :
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}");
}
Remarques
MetadataReader lit le contenu des tables et des tas à partir des métadonnées CLI spécifiées. Il opère des constructions de bas niveau telles que des définitions de type et de méthode. Pour qu’une API de niveau supérieur inspecte le contenu des assemblys à l’aide de constructions de réflexion, consultez MetadataLoadContext.
Vous pouvez utiliser des constructeurs, tels que MetadataReader(Byte*, Int32), pour créer un instance de MetadataReader pour un emplacement de mémoire donné. Pour lire les métadonnées du fichier d’assembly Exécutable portable, créez PEReader et utilisez la méthode d’extension GetMetadataReader(PEReader) .
Le format des métadonnées CLI est défini par la spécification ECMA-335. Pour plus d’informations, consultez Standard ECMA-335 - Common Language Infrastructure (CLI) sur le site Web Ecma International.
Constructeurs
MetadataReader(Byte*, Int32, MetadataReaderOptions, MetadataStringDecoder) |
Initialise une nouvelle instance de la classe MetadataReader des métadonnées stockées dans l’emplacement de mémoire donné. |
MetadataReader(Byte*, Int32, MetadataReaderOptions) |
Initialise une nouvelle instance de la classe MetadataReader des métadonnées stockées dans l’emplacement de mémoire donné. |
MetadataReader(Byte*, Int32) |
Initialise une nouvelle instance de la classe MetadataReader des métadonnées stockées dans l’emplacement de mémoire donné. |
Propriétés
AssemblyFiles |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
AssemblyReferences |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
CustomAttributes |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
CustomDebugInformation |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
DebugMetadataHeader |
Obtient les informations décodées à partir du flux #Pdb, ou |
DeclarativeSecurityAttributes |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
Documents |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
EventDefinitions |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
ExportedTypes |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
FieldDefinitions |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
ImportScopes |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
IsAssembly |
Obtient une valeur qui indique si les métadonnées représentent un assembly. |
LocalConstants |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
LocalScopes |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
LocalVariables |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
ManifestResources |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
MemberReferences |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
MetadataKind |
Obtient le type des métadonnées. |
MetadataLength |
Obtient la longueur des données sous-jacentes. |
MetadataPointer |
Obtient le pointeur des données sous-jacentes. |
MetadataVersion |
Obtient la chaîne de version lire à partir de l’en-tête de métadonnées. |
MethodDebugInformation |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
MethodDefinitions |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
Options |
Obtient le MetadataReaderOptions passé dans le constructeur. |
PropertyDefinitions |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
StringComparer |
Obtient le comparateur utilisé pour comparer les chaînes stockées dans les métadonnées. |
TypeDefinitions |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
TypeReferences |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
UTF8Decoder |
Obtient le décodeur utilisé par le lecteur pour produire des instances de chaîne à partir de séquences d’octets encodées en UTF-8. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetAssemblyDefinition() |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetAssemblyFile(AssemblyFileHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetAssemblyName(String) |
Obtient le AssemblyName d'un fichier donné. |
GetAssemblyReference(AssemblyReferenceHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetBlobBytes(BlobHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetBlobContent(BlobHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetBlobReader(BlobHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetBlobReader(StringHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetConstant(ConstantHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetCustomAttribute(CustomAttributeHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetCustomAttributes(EntityHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetCustomDebugInformation(CustomDebugInformationHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetCustomDebugInformation(EntityHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetDeclarativeSecurityAttribute(DeclarativeSecurityAttributeHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetDocument(DocumentHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetEventDefinition(EventDefinitionHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetExportedType(ExportedTypeHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetFieldDefinition(FieldDefinitionHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetGenericParameter(GenericParameterHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetGenericParameterConstraint(GenericParameterConstraintHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetGuid(GuidHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetImportScope(ImportScopeHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetInterfaceImplementation(InterfaceImplementationHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetLocalConstant(LocalConstantHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetLocalScope(LocalScopeHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetLocalScopes(MethodDebugInformationHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetLocalScopes(MethodDefinitionHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetLocalVariable(LocalVariableHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetManifestResource(ManifestResourceHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetMemberReference(MemberReferenceHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetMethodDebugInformation(MethodDebugInformationHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetMethodDebugInformation(MethodDefinitionHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetMethodDefinition(MethodDefinitionHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetMethodImplementation(MethodImplementationHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetMethodSpecification(MethodSpecificationHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetModuleDefinition() |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetModuleReference(ModuleReferenceHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetNamespaceDefinition(NamespaceDefinitionHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetNamespaceDefinitionRoot() |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetParameter(ParameterHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetPropertyDefinition(PropertyDefinitionHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetStandaloneSignature(StandaloneSignatureHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetString(DocumentNameBlobHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetString(NamespaceDefinitionHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetString(StringHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
GetTypeDefinition(TypeDefinitionHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetTypeReference(TypeReferenceHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetTypeSpecification(TypeSpecificationHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
GetUserString(UserStringHandle) |
Lit les métadonnées comme défini par la spécification de l’interface CLI ECMA 335. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Méthodes d’extension
GetEditAndContinueLogEntries(MetadataReader) |
Énumère les entrées du journal EnC. |
GetEditAndContinueMapEntries(MetadataReader) |
Énumère les entrées du journal EnC. |
GetHeapMetadataOffset(MetadataReader, HeapIndex) |
Retourne le décalage du début des métadonnées au tas spécifié. |
GetHeapSize(MetadataReader, HeapIndex) |
Retourne la taille du tas spécifié. |
GetNextHandle(MetadataReader, BlobHandle) |
Retourne le handle à l’élément Blob qui suit celui fourni dans le tas Blob, ou un handle nul si c’est le dernier. |
GetNextHandle(MetadataReader, StringHandle) |
Retourne le handle à la chaîne qui suit celle fournie dans le tas String, ou un handle nul si c’est le dernier. |
GetNextHandle(MetadataReader, UserStringHandle) |
Retourne le handle à l’élément UserString qui suit celle fournie dans le tas UserString, ou un handle nul si c’est le dernier. |
GetTableMetadataOffset(MetadataReader, TableIndex) |
Retourne le décalage du début des métadonnées à la table spécifiée. |
GetTableRowCount(MetadataReader, TableIndex) |
Retourne le nombre de lignes dans la table spécifiée. |
GetTableRowSize(MetadataReader, TableIndex) |
Retourne la taille d’une ligne dans la table spécifiée. |
GetTypesWithEvents(MetadataReader) |
Énumérez les types qui définissent un ou plusieurs événements. |
GetTypesWithProperties(MetadataReader) |
Énumérez les types qui définissent une ou plusieurs propriétés. |
ResolveSignatureTypeKind(MetadataReader, EntityHandle, Byte) |
Selon un handle de type et un type brut dans une signature blob, détermine si le type cible est un type valeur ou un type référence. |
GetHeapOffset(MetadataReader, Handle) |
Obtient le décalage des données du tas de métadonnées correspondant à l’élément |
GetRowNumber(MetadataReader, EntityHandle) |
Obtient le numéro de ligne d'une entrée de table de métadonnées correspondant à l’élément |
GetToken(MetadataReader, EntityHandle) |
Obtient le jeton de métadonnées de l’élément |
GetToken(MetadataReader, Handle) |
Obtient le jeton de métadonnées de l’élément |