如何在c#中获取类的所有静态成员?我知道我可以访问像class1.member1这样的人,但我正在寻找一种方法来获取所有成员。感谢
答案 0 :(得分:10)
var members = typeof(class1).GetMembers(BindingFlags.Static | BindingFlags.Public);
(如果您愿意,可随意添加NonPublic
。)
如果您想获取成员的值,您需要知道成员类型 - 通过.MemberType
或通过检查具体类型(通过is
等)。例如,属性为PropertyInfo
,并且您可以使用GetValue()
方法将null
作为目标(obj
)传递给静态属性。字段(FieldInfo
)的工作方式类似。