public void CanDoDynamicInterceptionWithAttributes() { //interception through attributes var instance = new MyType3(); dynamic myProxy = DynamicInterceptor.Instance.InterceptWithAttributes(instance); var result = myProxy.MyMethod(); Assert.Equal(20, result); }
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); }