我有以下方法:public static class ReflectionHelper{ public static List<?> FindType<T>() { var A = from Assemblies in AppDomain.CurrentDomain.GetAssemblies().AsParallel() from Types in Assemblies.GetTypes() let Attributes = Types.GetCustomAttributes(typeof(T), true) where Attributes?.Length > 0 select new { Type = Types }; var L = A.ToList(); return L; }}列表的類型是什么?如果我做:foreach (var l in L) { ... }它可以找到并且我可以檢查類型,但是我正在使用的開發(fā)環(huán)境 (Rider) 不會提供類型
1 回答

喵喔喔
TA貢獻1735條經(jīng)驗 獲得超5個贊
它是一個具有單一屬性的匿名對象
IEnumerable<Type> Types;
所以,使用A.ToList()給你一個匿名對象的列表,你不能返回。
我認(rèn)為select new { Type = Types };你想使用而不是使用select Types;
所以:
public static List<Type> FindType<T>()
{
var types =
from ssembly in AppDomain.CurrentDomain.GetAssemblies().AsParallel()
from type in ssembly.GetTypes()
let attributes = type.GetCustomAttributes(typeof(T), true)
where attributes?.Length > 0
select type;
return types.ToList();
}
- 1 回答
- 0 關(guān)注
- 91 瀏覽
添加回答
舉報
0/150
提交
取消