【发布时间】:2019-09-02 22:04:49
【问题描述】:
我有一个静态类,我想使用 typeof(MyStaticClass).GetMethods() 找到它的私有静态方法,但它总是只显示公共方法。
我怎样才能做到这一点?
【问题讨论】:
-
你看到
BindingFlags-overload了吗?只需使用GetMethods(BindingFlags.Static)。
标签: c# methods reflection static
我有一个静态类,我想使用 typeof(MyStaticClass).GetMethods() 找到它的私有静态方法,但它总是只显示公共方法。
我怎样才能做到这一点?
【问题讨论】:
BindingFlags-overload了吗?只需使用GetMethods(BindingFlags.Static)。
标签: c# methods reflection static
使用包含BindingFlags 参数的GetMethods 的重载:
var methods = typeof(MyStaticClass)
.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static);
(我没有包含BindingFlags.Instance,因为您明确表示它是一个静态类;要查找任何类中的所有方法,也应包含它。)
【讨论】: