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

how to get all static members of a class in C#?

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

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

(如果需要可以随意添加NonPublic...)

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