【发布时间】:2012-06-16 13:54:06
【问题描述】:
我有一个带有静态成员的类。 我想获取他们的类在命名空间“foo”中定义并从类“bar”继承的所有静态成员的列表
类似list x= typeof(this).staticmembers.where(namespace == "foo");
试一试:
var AllowedTypes = GetType().Assembly.GetTypes()
.Where(x => x.Namespace == "XX.XXX.XXX")
.Where(x => x.IsAssignableFrom(typeof(UserControl)));
var StaticMembersOfAllowedTypes = typeof(MainWindowXX).GetMembers (System.Reflection.BindingFlags.Static ).Where(item => AllowedTypes.Contains(item));
这给了我一个成员信息列表,但我想要这些项目本身。
所以我可以将每个项目与另一个项目进行比较。
【问题讨论】:
-
您想在命名空间中获取所有静态
Type对吗?不是命名空间中定义的任何Type的所有静态成员? -
我相信静态类型不能从其他类型继承,所以他可能想要那些类型的静态成员
标签: c# reflection