C#中的组合/委派

时间:2011-09-28 13:48:25

标签: c# delegation

好的,我需要使用一些第三方库,结果代码很难进行单元测试,因为这些类没有实现接口(即我无法将我的代码与它们的依赖关系隔离开来,在转而依赖数据库,谁知道还有什么。

我的解决方案 - 将第三方类包装在我自己的类中,这些类具有相同的接口并包含第三方类的实例。很容易,到目前为止。

问题:有没有办法从现有(第三方)类中自动提取这些接口?如果我手动操作,似乎我将编写大量的锅炉板代码。

1 个答案:

答案 0 :(得分:0)

我不知道有哪种工具能够做到这一点。但是,我这样做的方式就是这样。采用Reflector并对第三方组件进行逆向工程。将代码“粉碎”到方法签名。然后,通过少量调整,您就拥有了一个界面。不完全“没有样板”,但它确实消除了很多死记硬背的工作。