C# 反射获取私有方法
参考链接
- //https://www.cnblogs.com/han1982/p/4874302.html 需要增加 | BindingFlags.Static 来获取静态私有方法
代码如下
class Program
{
private static void Main(string[] args)
{
//通过反射来调私有的成员
Type type = typeof(Person);
//BindingFlags类型枚举,BindingFlags.NonPublic | BindingFlags.Instance 组合才能获取到private私有方法
MethodInfo methodInfo = type.GetMethod("SayHello", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static);
object obj = Activator.CreateInstance(type); //通过反射类型创建实例对象
methodInfo.Invoke(obj, null);
Console.ReadKey();
}
}
public class Person
{
private static void SayHello()
{
Console.WriteLine("我是私有方法。");
Console.ReadKey();
}
}