protected override object Invoke(MethodInfo targetMethod, object[] args) { var router = RemoteRouters.FirstOrDefault(x => x.Key.Equals(targetMethod.Name)); if (router != null) { if (args.Any()) { return(router.SenderDelegate.Excute(router.HostName, router.RouterName, args[0], router.SendType)); } else { return(router.SenderDelegate.Excute(router.HostName, router.RouterName, null, router.SendType)); } } else { return(null); } }
internal void InitSenderDelegate() { RemoteRouters.ForEach(x => x.SenderDelegate = BuildSenderDelegate(x.MethodInfo, x.InputType)); }