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

Alr*_*ost 0 c# static-members

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

Mar*_*ell 10

var members = typeof(class1).GetMembers(BindingFlags.Static | BindingFlags.Public);
Run Code Online (Sandbox Code Playgroud)

(NonPublic如果你想要随意添加...)

如果要获取成员的值,则需要知道成员类型 - 通过.MemberType或通过检查具体类型(通过is等).PropertyInfo例如,属性有一个GetValue()方法,您可以将其null作为target(obj)传递给静态属性.Fields(FieldInfo)的工作方式类似.