/// <summary> /// 通过反射,执行一个具体的任务 /// </summary> public void Invoke(int requestIndex, string requestMethod, int responseIndex, string responseMethod, bool needRelay, AfterInvokeHandler callback) { object requester = adapters[requestIndex]; object responser = adapters[responseIndex]; MethodInfo request = requester.GetType().GetMethod(requestMethod); MethodInfo response = responser.GetType().GetMethod(responseMethod); object result = response.Invoke(responser, null); if (needRelay) { request.Invoke(requester, new object[] { result }); } else { request.Invoke(requester, null); } // 异步回调,通知执行完毕 callback(responseIndex, responseIndex, requestMethod, responseMethod); }
/// <summary> /// 通过反射,执行一项具体任务 /// </summary> /// <param name="requestIndex"></param> /// <param name="requestMethod"></param> /// <param name="responseIndex"></param> /// <param name="responseMethod"></param> /// <param name="needRelay"></param> /// <param name="callback"></param> public void Invoke(int requestIndex,string requestMethod,int responseIndex,string responseMethod,bool needRelay,AfterInvokeHandler callback) { object requester = adapters[requestIndex]; object responser = adapters[responseIndex]; MethodInfo request = requester.GetType().GetMethod(requestMethod); MethodInfo response = responser.GetType().GetMethod(responseMethod); object result = response.Invoke(responser, null); if (needRelay) request.Invoke(requester, new object[] { result }); else request.Invoke(requester, null); //异步回调,通知执行完毕 callback(requestIndex, responseIndex, requestMethod, responseMethod); }