反射的实现原理?
审查元数据并收集关于它的类型信息的能力。实现原理:在运行时根据程序集及其中的类型得到元数据。下面是实现步骤:
- 导入using System.Reflection;
- Assembly.Load(“程序集”)加载程序集,返回类型是一个Assembly
- 得到程序集中所有类的名称
foreach (Type type in assembly.GetTypes())
{
string t = type.Name;
} - Type type = assembly.GetType(“程序集.类名”); //获取当前类的类型
- Activator.CreateInstance(type); 创建此类型实例
- MethodInfo mInfo = type.GetMethod(“方法名”); //获取当前方法
- m.Info.Invoke(null,方法参数);