利用反射动态加载Assembly动态执行类型方法
string dllName="OverSeer.dll";
Type t=ReflectionUtils.GetType(dllName, "uDbg.Unit");
dt=ReflectionUtils.GetType(dllName, "uDbg.TNxDebugger");
//MethodInfo mi=t.GetMethod("Debugger", BindingFlags.Static | BindingFlags.Public);
//Object debugger=mi.Invoke(null,null);
if (t==null)
return;
//动态执行静态Debugger方法
debugger=t.InvokeMember("Debugger", BindingFlags.Public| BindingFlags.Static | BindingFlags.InvokeMethod, null,null, null);
//根据Assembly名称和类型名称动态获取类型元数据
public static Type GetType(string AssemblyName, string TypeName)
{
FileInfo info=new FileInfo(AssemblyName);
if (!info.Exists)
return null;
Assembly a=Assembly.LoadFrom(AssemblyName);
//Todo:处理异常
return a.GetType(TypeName);
}