MetadataReader Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI.
public ref class MetadataReader sealed
public sealed class MetadataReader
type MetadataReader = class
Public NotInheritable Class MetadataReader
- Herencia
-
MetadataReader
Ejemplos
En este ejemplo se muestra cómo crear MetadataReader para un ensamblado y leer todas las definiciones de tipo de él:
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}");
}
Comentarios
MetadataReader lee el contenido de tablas y montones de los metadatos de la CLI especificados. Opera construcciones de bajo nivel, como definiciones de tipo y método. Para obtener una API de nivel superior para inspeccionar el contenido de los ensamblados mediante construcciones de reflexión, consulte MetadataLoadContext.
Puede usar constructores, como MetadataReader(Byte*, Int32), para crear una instancia de para una ubicación de MetadataReader memoria determinada. Para leer metadatos del archivo de ensamblado portable ejecutable, cree PEReader y use el método de GetMetadataReader(PEReader) extensión.
El formato de los metadatos de la CLI se define mediante la especificación ECMA-335. Para obtener más información, vea Standard ECMA-335 - Common Language Infrastructure (CLI) en el sitio web de Ecma International.
Constructores
MetadataReader(Byte*, Int32, MetadataReaderOptions, MetadataStringDecoder) |
Inicializa una nueva instancia de la clase MetadataReader a partir de los metadatos almacenados en la ubicación de memoria especificada. |
MetadataReader(Byte*, Int32, MetadataReaderOptions) |
Inicializa una nueva instancia de la clase MetadataReader a partir de los metadatos almacenados en la ubicación de memoria especificada. |
MetadataReader(Byte*, Int32) |
Inicializa una nueva instancia de la clase MetadataReader a partir de los metadatos almacenados en la ubicación de memoria especificada. |
Propiedades
AssemblyFiles |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
AssemblyReferences |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
CustomAttributes |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
CustomDebugInformation |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
DebugMetadataHeader |
Obtiene la información descodificada de la secuencia de #Pdb, o |
DeclarativeSecurityAttributes |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
Documents |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
EventDefinitions |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
ExportedTypes |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
FieldDefinitions |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
ImportScopes |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
IsAssembly |
Obtiene un valor que indica si los metadatos representan un ensamblado. |
LocalConstants |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
LocalScopes |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
LocalVariables |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
ManifestResources |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
MemberReferences |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
MetadataKind |
Obtiene el tipo de los metadatos. |
MetadataLength |
Obtiene la longitud de los datos subyacentes. |
MetadataPointer |
Obtiene el puntero a los datos subyacentes. |
MetadataVersion |
Obtiene la lectura de la cadena de versión del encabezado de los metadatos. |
MethodDebugInformation |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
MethodDefinitions |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
Options |
Obtiene el objeto MetadataReaderOptions que se pasa al constructor. |
PropertyDefinitions |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
StringComparer |
Obtiene al comparador que se usa para comparar las cadenas almacenadas en los metadatos. |
TypeDefinitions |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
TypeReferences |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
UTF8Decoder |
Obtiene el decodificador que usa el lector para generar instancias de cadenas de secuencias de bytes con codificación UTF8. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetAssemblyDefinition() |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetAssemblyFile(AssemblyFileHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetAssemblyName(String) |
Obtiene el nombre de ensamblado (AssemblyName) de un archivo dado. |
GetAssemblyReference(AssemblyReferenceHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetBlobBytes(BlobHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetBlobContent(BlobHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetBlobReader(BlobHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetBlobReader(StringHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetConstant(ConstantHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetCustomAttribute(CustomAttributeHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetCustomAttributes(EntityHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetCustomDebugInformation(CustomDebugInformationHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetCustomDebugInformation(EntityHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetDeclarativeSecurityAttribute(DeclarativeSecurityAttributeHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetDocument(DocumentHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetEventDefinition(EventDefinitionHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetExportedType(ExportedTypeHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetFieldDefinition(FieldDefinitionHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetGenericParameter(GenericParameterHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetGenericParameterConstraint(GenericParameterConstraintHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetGuid(GuidHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetImportScope(ImportScopeHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetInterfaceImplementation(InterfaceImplementationHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetLocalConstant(LocalConstantHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetLocalScope(LocalScopeHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetLocalScopes(MethodDebugInformationHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetLocalScopes(MethodDefinitionHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetLocalVariable(LocalVariableHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetManifestResource(ManifestResourceHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetMemberReference(MemberReferenceHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetMethodDebugInformation(MethodDebugInformationHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetMethodDebugInformation(MethodDefinitionHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetMethodDefinition(MethodDefinitionHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetMethodImplementation(MethodImplementationHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetMethodSpecification(MethodSpecificationHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetModuleDefinition() |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetModuleReference(ModuleReferenceHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetNamespaceDefinition(NamespaceDefinitionHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetNamespaceDefinitionRoot() |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetParameter(ParameterHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetPropertyDefinition(PropertyDefinitionHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetStandaloneSignature(StandaloneSignatureHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetString(DocumentNameBlobHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetString(NamespaceDefinitionHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetString(StringHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GetTypeDefinition(TypeDefinitionHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetTypeReference(TypeReferenceHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetTypeSpecification(TypeSpecificationHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
GetUserString(UserStringHandle) |
Lee los metadatos tal y como se define en la especificación ECMA 335 de la CLI. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Métodos de extensión
GetEditAndContinueLogEntries(MetadataReader) |
Enumera las entradas del registro de EnC. |
GetEditAndContinueMapEntries(MetadataReader) |
Enumera las entradas del mapa de EnC. |
GetHeapMetadataOffset(MetadataReader, HeapIndex) |
Devuelve el desplazamiento desde el inicio de los metadatos hasta el montón especificado. |
GetHeapSize(MetadataReader, HeapIndex) |
Devuelve el tamaño del montón especificado. |
GetNextHandle(MetadataReader, BlobHandle) |
Devuelve el identificador del elemento Blob que sigue al especificado en el montón de Blob o un identificador nulo si es el último. |
GetNextHandle(MetadataReader, StringHandle) |
Devuelve el identificador de la cadena que sigue a la especificada en el montón de cadenas, o bien un identificador nulo si es la última. |
GetNextHandle(MetadataReader, UserStringHandle) |
Devuelve el identificador del elemento UserString que sigue al especificado en el montón de UserString, o bien un identificador nulo si es el último. |
GetTableMetadataOffset(MetadataReader, TableIndex) |
Devuelve el desplazamiento desde el inicio de los metadatos hasta la tabla especificada. |
GetTableRowCount(MetadataReader, TableIndex) |
Devuelve el número de filas de la tabla especificada. |
GetTableRowSize(MetadataReader, TableIndex) |
Devuelve el tamaño de una fila de la tabla especificada. |
GetTypesWithEvents(MetadataReader) |
Enumera los tipos que definen uno o varios eventos. |
GetTypesWithProperties(MetadataReader) |
Enumera los tipos que definen una o varias propiedades. |
ResolveSignatureTypeKind(MetadataReader, EntityHandle, Byte) |
Dado un identificador de tipo y una clase de tipo sin formato en un blob de firma, determina si el tipo de destino es un tipo de valor o de referencia. |
GetHeapOffset(MetadataReader, Handle) |
Obtiene el desplazamiento de los datos del montón de metadatos correspondiente al elemento |
GetRowNumber(MetadataReader, EntityHandle) |
Obtiene el número de fila de una entrada de la tabla de metadatos que corresponde al elemento |
GetToken(MetadataReader, EntityHandle) |
Obtiene el token de metadatos del elemento |
GetToken(MetadataReader, Handle) |
Obtiene el token de metadatos del elemento |