using System.Reflection.Metadata; class Example { public static void PrintMethodNames(TypeDefinition typeDef) { foreach (MethodDefinition methodDef in typeDef.Methods) { Console.WriteLine(methodDef.Name); } } }
using System.Reflection.Metadata; using System.Reflection.Metadata.Ecma335; class Example { public static CustomAttributeData GetCustomAttribute(MethodDefinition methodDef, Type attributeType) { MetadataReader reader = methodDef.Module.GetMetadataReader(); foreach (CustomAttribute attribute in methodDef.GetCustomAttributes()) { EntityHandle typeHandle = attribute.Constructor; TypeReference typeRef = typeHandle.ToTypeReference(reader); TypeDefinition typeDef = typeRef.Resolve(); if (typeDef != null && typeDef.FullName == attributeType.FullName) { return new CustomAttributeData(typeRef, attribute.Value); } } return null; } }The package library for IMetadataVisitor is System.Reflection.Metadata.