using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace 反射获取私有成员
{
class Program
{
static void Main(string[] args)
{
Type typePerson = typeof(Person);
//调用public成员
//MethodInfo m = typePerson.GetMethod("SayHello",new Type[] {typeof(string) });
//调用私有成员
//BindingFlags是一个标识枚举,只有标识枚举用 | 连接才有意义
MethodInfo m = typePerson.GetMethod("SayHi", BindingFlags.NonPublic|BindingFlags.Instance);
object obj = Activator.CreateInstance(typePerson);
m.Invoke(obj,null);
Console.ReadKey();
}
}
class Person
{
private void SayHi()
{
Console.WriteLine("私有成员hi~~~");
}
public void SayHello(string msg)
{
Console.WriteLine("Hello"+msg);
}
}
}
反射调用私有方法
最新推荐文章于 2022-01-19 08:00:00 发布