通过C#反射调用类中私有方法 Time:2018-11-12
//反射获取类
Type type = Assembly.Load("命名空间名称").GetType("命名空间名称.类名");
//获取类中的你需要调用的方法
MethodInfo methodinfo = type.GetMethod("要调用的方法名", BindingFlags.Instance | BindingFlags.NonPublic);
//实例化指定名称的类
object obj = System.Activator.CreateInstance(type);
//给方法传参数 如果是无参方法 直接传null即可
object[] parameters = new object[]{1};
//调用方法 接收返回值
object i = methodinfo.Invoke(obj, parameters);
通过C#反射调用类中私有属性Time:2018-11-12
//反射获取类
Type type = Assembly.Load("命名空间名称").GetType("命名空间名称.类名");
//实例化指定名称的类
object obj = System.Activator.CreateInstance(type);
//获取指定名称的私有的属性
System.Reflection.PropertyInfo propertyInfo = type.GetProperty("Name", BindingFlags.Instance | BindingFlags.NonPublic);
//给对应属性赋值
propertyInfo.SetValue(obj, (object)"龙在天", null);
//获取属性值
string name = (string)propertyInfo.GetValue(obj, null);