[quote=引用 4 楼 github_22161131 的回复:] 你说的“已加载”是什么概念?没有具体的说明那只能认为是appdomain加载的所有assembly里面的类型。 就是使用AppDomain.CurrentDomain.GetAssemblies()获得所有已加载的assembly,然后从这些assembly上GetTypes
msdn有答案 http://msdn.microsoft.com/zh-cn/library/b8ytshk6(v=vs.110).aspx
csdn的缓存刷新的够慢的... 貌似除了profiler api那种东西,是无法查找所有运行时创建的具体泛型类型的。还是根据具体需求,想想别的办法吧。
又找了找,从.net的TypeSpec这个元数据表里面取是可以找到静态定义的泛型类型。比如代码里用到的List<int>这种。不过这肯定要使用第三方工具,比如cecil或者dnlib,来直接解析元数据。但是这样仍然不可能获得Type.MakeGenericType动态构造的具体泛型类型。 profiler api倒是官方的,但是这个一般是调试场景使用,可以监视所有对象的创建。那显然是可以找到所有运行时对象和其类型的。不过这个方案很麻烦,并且肯定严重影响性能。
你说的“已加载”是什么概念?没有具体的说明那只能认为是appdomain加载的所有assembly里面的类型。 就是使用AppDomain.CurrentDomain.GetAssemblies()获得所有已加载的assembly,然后从这些assembly上GetTypes
[quote=引用 1 楼 lovelj2012 的回复:]Assembly是反射dll,获取运行时的类型,你就遍历类对象呗。
http://bbs.csdn.net/topics/300148460 http://blog.csdn.net/findsafety/article/details/21942119
Assembly是反射dll,获取运行时的类型,你就遍历类对象呗。
111,089
社区成员
642,553
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧