对于接口类型的动态生成比较简单,请问castle.dynamicproxy或是其他的动态代理框架如何实现实体类型的动态代理。以下引用了A大的博客:
如果Foobar并未实现任何接口,或者针对它的调用并非以接口的方式进行,那么我们只能采用“针对类型的拦截”,其原理如下:我们动态创建Foobar的派生类型FoobarProxy,并重写其需要被拦截的虚方法来实现对Interceptor链的调用。我们最终创建FoobarProxy对象来替换掉原始的Foobar对象,那么针对Foobar的方法调用将转换成针对FoobarProxy对象的调用,拦截得以实现。
麻烦给个示例,查遍了也没有比较好的实现。