Example #1
0
        /// <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);
        }
Example #2
0
 private Task Call(StatefulSignalProxy p, MethodCallInfo mi)
 {
     return(p.Invoke(mi.Method.Name, mi.Args));
 }
Example #3
0
 private Task Call(ClientProxy p, MethodCallInfo mi)
 {
     return(p.Invoke(mi.Method.Name, mi.Args));
 }