Table of Contents

Class MetadataExtensions

Namespace
ICSharpCode.Decompiler.Metadata
Assembly
ICSharpCode.Decompiler.dll
public static class MetadataExtensions
Inheritance
MetadataExtensions
Inherited Members

Properties

MinimalAttributeTypeProvider

An attribute type provider that can be used to decode attribute signatures that only mention built-in types.

public static ICustomAttributeTypeProvider<IType> MinimalAttributeTypeProvider { get; }

Property Value

ICustomAttributeTypeProvider<IType>

MinimalSignatureTypeProvider

public static ISignatureTypeProvider<IType, GenericContext> MinimalSignatureTypeProvider { get; }

Property Value

ISignatureTypeProvider<IType, GenericContext>

Methods

AppendHexString(StringBuilder, BlobReader)

public static void AppendHexString(this StringBuilder builder, BlobReader reader)

Parameters

builder StringBuilder
reader BlobReader

AsBlobReader(MetadataReader)

public static BlobReader AsBlobReader(this MetadataReader metadataReader)

Parameters

metadataReader MetadataReader

Returns

BlobReader

AsReadOnlySpan(MetadataReader)

public static ReadOnlySpan<byte> AsReadOnlySpan(this MetadataReader metadataReader)

Parameters

metadataReader MetadataReader

Returns

ReadOnlySpan<byte>

GetDeclaringModule(TypeReferenceHandle, MetadataReader)

[Obsolete("Use MetadataModule.GetDeclaringModule() instead")]
public static IModuleReference GetDeclaringModule(this TypeReferenceHandle handle, MetadataReader reader)

Parameters

handle TypeReferenceHandle
reader MetadataReader

Returns

IModuleReference

GetFieldLayout(MetadataReader, EntityHandle)

public static (int Offset, FieldDefinitionHandle FieldDef) GetFieldLayout(this MetadataReader metadata, EntityHandle fieldLayoutHandle)

Parameters

metadata MetadataReader
fieldLayoutHandle EntityHandle

Returns

(int Offset, FieldDefinitionHandle FieldDef)

GetFieldLayouts(MetadataReader)

public static IEnumerable<EntityHandle> GetFieldLayouts(this MetadataReader metadata)

Parameters

metadata MetadataReader

Returns

IEnumerable<EntityHandle>

GetFullAssemblyName(AssemblyReference, MetadataReader)

public static string GetFullAssemblyName(this AssemblyReference reference, MetadataReader reader)

Parameters

reference AssemblyReference
reader MetadataReader

Returns

string

GetFullAssemblyName(MetadataReader)

public static string GetFullAssemblyName(this MetadataReader reader)

Parameters

reader MetadataReader

Returns

string

GetMethodSemantics(MetadataReader)

public static IEnumerable<(Handle Handle, MethodSemanticsAttributes Semantics, MethodDefinitionHandle Method, EntityHandle Association)> GetMethodSemantics(this MetadataReader metadata)

Parameters

metadata MetadataReader

Returns

IEnumerable<(Handle Handle, MethodSemanticsAttributes Semantics, MethodDefinitionHandle Method, EntityHandle Association)>

GetMethodSpecifications(MetadataReader)

public static IEnumerable<MethodSpecificationHandle> GetMethodSpecifications(this MetadataReader metadata)

Parameters

metadata MetadataReader

Returns

IEnumerable<MethodSpecificationHandle>

GetModuleReferences(MetadataReader)

public static IEnumerable<ModuleReferenceHandle> GetModuleReferences(this MetadataReader metadata)

Parameters

metadata MetadataReader

Returns

IEnumerable<ModuleReferenceHandle>

GetPublicKeyToken(MetadataReader)

public static string GetPublicKeyToken(this MetadataReader reader)

Parameters

reader MetadataReader

Returns

string

GetTopLevelTypeDefinitions(MetadataReader)

public static IEnumerable<TypeDefinitionHandle> GetTopLevelTypeDefinitions(this MetadataReader reader)

Parameters

reader MetadataReader

Returns

IEnumerable<TypeDefinitionHandle>

GetTypeSpecifications(MetadataReader)

public static IEnumerable<TypeSpecificationHandle> GetTypeSpecifications(this MetadataReader metadata)

Parameters

metadata MetadataReader

Returns

IEnumerable<TypeSpecificationHandle>

ToHexString(IEnumerable<byte>, int)

public static string ToHexString(this IEnumerable<byte> bytes, int estimatedLength)

Parameters

bytes IEnumerable<byte>
estimatedLength int

Returns

string

ToHexString(BlobReader)

public static string ToHexString(this BlobReader reader)

Parameters

reader BlobReader

Returns

string

ToILNameString(FullTypeName, bool)

public static string ToILNameString(this FullTypeName typeName, bool omitGenerics = false)

Parameters

typeName FullTypeName
omitGenerics bool

Returns

string

ToKnownTypeCode(PrimitiveTypeCode)

public static KnownTypeCode ToKnownTypeCode(this PrimitiveTypeCode typeCode)

Parameters

typeCode PrimitiveTypeCode

Returns

KnownTypeCode

ToPrimitiveTypeCode(KnownTypeCode)

Converts KnownTypeCode to PrimitiveTypeCode. Returns 0 for known types that are not primitive types (such as Span<T>).

public static PrimitiveTypeCode ToPrimitiveTypeCode(this KnownTypeCode typeCode)

Parameters

typeCode KnownTypeCode

Returns

PrimitiveTypeCode

TryGetFullAssemblyName(AssemblyReference, MetadataReader, out string)

public static bool TryGetFullAssemblyName(this AssemblyReference reference, MetadataReader reader, out string assemblyName)

Parameters

reference AssemblyReference
reader MetadataReader
assemblyName string

Returns

bool

TryGetFullAssemblyName(MetadataReader, out string)

public static bool TryGetFullAssemblyName(this MetadataReader reader, out string assemblyName)

Parameters

reader MetadataReader
assemblyName string

Returns

bool