コード例 #1
0
        static void DynamicInterceptorWithRegistry(object instance)
        {
            var interceptor = new DynamicInterceptor();
            var registry    = new RegistryInterceptionHandler();

            registry.Register <IMyType>(x => x.MyProperty, new MyHandler());
            registry.Register <IMyType>(x => x.MyMethod(), new MyHandler());
            dynamic myProxy = interceptor.Intercept(instance, null, registry);

            myProxy.MyMethod();
        }
コード例 #2
0
        public void CanDoDynamicInterceptionWithRegistry()
        {
            //interception through a registry
            var instance    = new MyType3();
            var interceptor = new DynamicInterceptor();
            var registry    = new RegistryInterceptionHandler()
                              .Register <MyType3>(x => x.MyProperty, new ModifyResultHandler())
                              .Register <MyType3>(x => x.MyMethod(), new ModifyResultHandler());
            dynamic myProxy = interceptor.Intercept(instance, typeof(IMyType), registry);
            var     result  = myProxy.MyMethod();

            Assert.Equal(20, result);
        }
コード例 #3
0
		static void DynamicInterceptorWithRegistry(object instance)
		{
			var interceptor = new DynamicInterceptor();
			var registry = new RegistryInterceptionHandler();
			registry.Register<IMyType>(x => x.MyProperty, new MyHandler());
			registry.Register<IMyType>(x => x.MyMethod(), new MyHandler());
			dynamic myProxy = interceptor.Intercept(instance, null, registry);
			myProxy.MyMethod();
		}