public override IMessage Invoke(IMessage msg)
        {
            var methodCall = msg as IMethodCallMessage;
            var methodInfo = methodCall.MethodBase as MethodInfo;

            methodInterceptor = methodInfo.GetCustomAttribute <IMethodInterceptor>();
            PreCall(msg);
            var returnValue = methodInfo.Invoke(baseObject, methodCall.Args);

            PostCall(msg, returnValue);
            return(new ReturnMessage(baseObject, methodCall.Args, methodCall.ArgCount, methodCall.LogicalCallContext, methodCall));
        }
 public RealProxyImpl(T obj) : base(typeof(T))
 {
     baseObject = obj;
     methodInterceptorOnClass = obj.GetType().GetCustomAttribute <IMethodInterceptor>();
 }