/// <summary> /// 创建并获取指定泛型类型的对象的动态代理实例,该实例在切向捕捉对象控制范围内 /// </summary> /// <param name="FullClassName"></param> /// <param name="AssemblyPath"></param> /// <param name="Parameters">参数</param> /// <returns></returns> public static T GetInstance <T>(string AssemblyPath, string FullClassName, params object[] Parameters) { T result = default(T); ClassDrive cdiv = new ClassDrive(); try { if (LemonEnvironment.GetInstance().UseProxy) { result = cdiv.ProxyInstance <T>(FullClassName, AssemblyPath, Parameters); } else { result = cdiv.Instance <T>(AssemblyPath, FullClassName, Parameters); } } catch { string str = "创建对象实例失败。 AssemblyPath:" + AssemblyPath + " FullClassName:" + FullClassName; MessageObject newmsg = new MessageObject(MessageType.Error); newmsg.Message = str; MessageFactory.GetMegBus().Send(newmsg); } return(result); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); ClassDrive cdiv = new ClassDrive(); Form1 frm = cdiv.ProxyInstance <Form1>(typeof(Form1)); Application.Run(frm); }
/// <summary> /// 创建并获取指定泛型类型的对象的动态代理实例,使该实例在切向捕捉对象控制范围内 /// </summary> /// <param name="InitType"></param> /// <param name="Parameters">参数</param> /// <returns></returns> public static T GetInstance <T>(Type InitType, params object[] Parameters) { T result = default(T); ClassDrive cdiv = new ClassDrive(); try { if (LemonEnvironment.GetInstance().UseProxy) { result = cdiv.ProxyInstance <T>(InitType, Parameters); } else { result = cdiv.Instance <T>(InitType, Parameters); } } catch { string str = "创建对象实例失败。 " + InitType.ToString(); MessageObject newmsg = new MessageObject(MessageType.Error); newmsg.Message = str; MessageFactory.GetMegBus().Send(newmsg); } return(result); }