很多问题都很接近,但没有一个能回答我的问题......
如何使用 C# 3.5 中的反射从程序集中获取所有静态类。我已经定义了所有类型,但没有 IsStatic 属性。计算 0 个构造函数确实很慢,而且也不起作用。
有什么提示或一行代码吗? :-)
Chris
以下是从程序集中获取类型的方法:
http://msdn.microsoft.com/en-us/library/system.reflection. assembly.aspx http://msdn.microsoft.com/en-us/library/system.reflection.assembly.aspx
获取类型方法 http://msdn.microsoft.com/en-us/library/system.reflection.assembly.gettypes.aspx
Then:
寻找同时是抽象和密封的类。
http://dotneteers.net/blogs/divedeeper/archive/2008/08/04/QueryingStaticClasses.aspx http://dotneteers.net/blogs/divedeeper/archive/2008/08/04/QueryingStaticClasses.aspx
在博客中搜索我可以找到这样的信息:.NET CLR 不知道静态类的概念,但允许同时使用抽象和密封类型标志。 CLR 还使用这些标志来优化其行为,例如,密封标志用于调用密封类的虚拟方法(如非虚拟方法)。
因此,要询问类型是否是静态的,可以使用以下方法:
来自下面的评论:
IEnumerable<Type> types = typeof(Foo).Assembly.GetTypes().Where
(t => t.IsClass && t.IsSealed && t.IsAbstract);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)