/// <summary> /// Don't call this... /// </summary> /// <param name="code">Hash code of method</param> /// <param name="args">Arguments passed to method</param> public dynamic HandleCall(int code, params object[] args) { //TODO Make this internal or private somehow DynamicProxyOnBuilder builder; if (this.ProxyCalls.TryGetValue(code, out builder)) { var methodInfo = typeof(T).GetMethods().First(x => x.GetHashCode() == code); var mi = new MethodCallInfo { Args = args, Method = methodInfo }; if (methodInfo.ReturnType != typeof(void)) { return(builder.ThisCalls.DynamicInvoke(mi)); } else { builder.ThisCalls.DynamicInvoke(mi); return(null); } } return(null); }
private Task Call(StatefulSignalProxy p, MethodCallInfo mi) { return(p.Invoke(mi.Method.Name, mi.Args)); }
private Task Call(ClientProxy p, MethodCallInfo mi) { return(p.Invoke(mi.Method.Name, mi.Args)); }