首页 > 解决方案 > 如何使用反射在静态类中找到私有静态方法?

问题描述

我有一个静态类,我想使用 typeof(MyStaticClass).GetMethods() 找到它的私有静态方法,但它总是只显示公共方法。

我怎样才能做到这一点?

标签: c#methodsreflectionstatic

解决方案


使用GetMethods包含BindingFlags参数的重载:

var methods = typeof(MyStaticClass)
    .GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static);

(我没有包括BindingFlags.Instance,因为你明确说它是一个静态类;要查找任何类中的所有方法,也包括它。)


推荐阅读