如何在 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
) 的工作方式类似。
如何在 C# 中获取 class 的所有静态成员?我知道我可以像这样 class1.member1 访问一个,但我正在寻找一种获取所有成员的方法。谢谢
var members = typeof(class1).GetMembers(BindingFlags.Static | BindingFlags.Public);
(如果需要可以随意添加NonPublic
...)
如果您想获取成员的值,您需要知道成员类型 - 通过.MemberType
,或检查concrete 类型(通过 is
,等等)。例如,属性是 PropertyInfo
,并且有一个 GetValue()
方法,您可以将 null
传递给作为静态 属性 的目标 (obj
)。字段 (FieldInfo
) 的工作方式类似。