如何在C#中获取类的所有静态成员?

时间:2018-01-16 06:51:04

标签: c# static-members

如何在c#中获取类的所有静态成员?我知道我可以访问像class1.member1这样的人,但我正在寻找一种方法来获取所有成员。感谢

1 个答案:

答案 0 :(得分:10)

var members = typeof(class1).GetMembers(BindingFlags.Static | BindingFlags.Public);

(如果您愿意,可随意添加NonPublic。)

如果您想获取成员的值,您需要知道成员类型 - 通过.MemberType或通过检查具体类型(通过is等)。例如,属性为PropertyInfo,并且您可以使用GetValue()方法将null作为目标(obj)传递给静态属性。字段(FieldInfo)的工作方式类似。