c#中的组合/委托
本文关键字:委托 组合 | 更新日期: 2023-09-27 18:09:51
好吧,我需要使用一些第三方库,结果代码很难进行单元测试,因为这些类不实现接口(即我不能将我的代码与它们的依赖关系隔离开来,这反过来又依赖于数据库,谁知道还有什么)。
我的解决方案-将第三方类包装在我自己的类中,这些类具有相同的接口并包含第三方类的实例。到目前为止,很简单。
问题:有没有办法从现有的(第三方)类中自动提取这些接口?如果我手动操作,似乎我将编写大量的锅炉板代码。我不知道有什么工具能做到这一点。但我的做法是这样的。以Reflector为例,对第三方组件进行逆向工程。将代码"粉碎"为方法签名。然后,稍加调整,你就有了一个界面。虽然不是完全"没有样板文件",但它确实省去了很多死记硬背的工作。