通过反射系统,在不使用new关键词,不知道对象类型的情况下,仅仅通过对象的名称创建一个一模一样的实例的过程
类的结构说明都会以System.Reflection.Type进行保存。
Type object = Type.GetType(classiy);
Activator.CreateInstance(objType);
MethodInfo method = objType.GetMethod("Add");
add.Invoke(obj,null);
简单使用如下:
先定义一个类:
public class List{public void Add(){Console.WriteLine("ddddddd");}}
定位类,格式如下:
// 定位类 命名空间.类名, 项目名称const string classLocation = "HelloWord.List, HelloWord";
获取 List (对应类)类型对象:
Type objectType = Type.GetType(classLocation);
// 通过类型实例化object obj = Activator.CreateInstance(objectType);// 调用“Add”(对应的)方法MethodInfo add = objectType.GetMethod("Add");add.Invoke(obj, null);