public virtual TProxy GetProxy <TProxy>(ICalleeProxyInterceptor interceptor) where TProxy : class { TProxy result = DispatchProxy.Create <TProxy, CalleeProxy>(); CalleeProxy casted = result as CalleeProxy; casted.Handler = mHandler; casted.CalleeProxyInterceptor = interceptor; return(result); }
public virtual TProxy GetProxy <TProxy>(ICalleeProxyInterceptor interceptor) where TProxy : class { if (typeof(CalleeProxyBase).IsAssignableFrom(typeof(TProxy))) { return((TProxy)Activator.CreateInstance(typeof(TProxy), mProxy, interceptor)); } else { TProxy result = DispatchProxy.Create <TProxy, CalleeProxy>(); CalleeProxy casted = result as CalleeProxy; casted.Handler = mHandler; casted.CalleeProxyInterceptor = interceptor; return(result); } }