예제 #1
0
        protected override object Invoke(MethodInfo targetMethod, object[] args)
        {
            ICalleeProxyInvocationInterceptor interceptor;

            if (!mMethodToInterceptor.TryGetValue(targetMethod, out interceptor))
            {
                interceptor = CalleeProxyInterceptorFactory.BuildInterceptor(targetMethod, this.CalleeProxyInterceptor, Handler);
                mMethodToInterceptor[targetMethod] = interceptor;
            }

            object result = interceptor.Invoke(targetMethod, args);

            return(result);
        }
 private IInterceptor BuildInterceptor(MethodInfo method, ICalleeProxyInterceptor interceptor)
 {
     return(CalleeProxyInterceptorFactory.BuildInterceptor(method, interceptor, mHandler));
 }