当前位置:  开发笔记 > 编程语言 > 正文

在c#中实现代理或装饰器类的最短方法是什么?

如何解决《在c#中实现代理或装饰器类的最短方法是什么?》经验,为你挑选了0个好方法。

如果你有一辆实现IVehicle的类车,并且你想将它包装在一个装饰器中,它将所有的呼叫转发给汽车并计算它们,你会怎么做?

在Ruby中,我可以在没有任何方法的情况下构建装饰器,并使用method_missing将所有调用转发给car对象.

在Java中,我可以构建一个Proxy对象,该对象通过一种方法运行所有代码,然后再转发它.

在C#中我能做些类似的事吗?


更新:

基于answeres和我读过的关于System.Reflection.Emit的内容,应该可以编写一个类似于此的方法:

Type proxyBuilder(Type someType, delagate functionToBeApplied, Object forward)

其中type实现someType的所有接口,执行functionToBeApplied,然后在返回其返回时将方法调用转发给object.

是否有一些lib可以做到这一点,还是我必须自己编写?

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有