public static IEnumerable <ClrType> EnumerateTypes(this ClrModule module) { ClrRuntime runtime = module.AppDomain.Runtime; foreach ((ulong mt, uint _) in module.EnumerateTypeDefToMethodTableMap()) { ClrType type = runtime.GetTypeByMethodTable(mt); if (type != null) { yield return(type); } } }
public static ClrType?GetTypeByName(this ClrModule module, string name) { foreach ((ulong mt, int _) in module.EnumerateTypeDefToMethodTableMap()) { ClrType?type = module.AppDomain.Runtime.GetTypeByMethodTable(mt); if (type?.Name == name) { return(type); } } return(null); }