public void CanDoInterfaceInterception()
        {
            var instance    = new MyType();
            var interceptor = new InterfaceInterceptor();
            var handler     = new ModifyResultHandler();

            var proxy = this.InstanceInterception(interceptor, instance, handler) as IMyType;

            var result = proxy.MyMethod();

            Assert.Equal(20, result);
        }
        public void CanDoDynamicInterception()
        {
            var instance    = new MyType();
            var interceptor = new DynamicInterceptor();
            var handler     = new ModifyResultHandler();

            //dynamic proxy = this.InstanceInterception(interceptor, instance, handler);
            dynamic proxy = instance.InterceptDynamic(handler);

            var result = proxy.MyMethod();

            Assert.Equal(20, result);
        }