c# – 为第三方库的依赖注入编写包装器和接口的自动方式?

我正在使用第三方库类Foo,它有几个公共方法和属性,我的类用作依赖项.

我想测试我的类并模拟Foo对象,但它没有接口.所以我在想,我可以在自己的类中继承类,提取一个接口,瞧!我会有一个注射接口.

……但当然有并发症. Foo有很多公共领域.这些不能进入接口,所以我必须为字段编写属性包装器.它很烦人.

有没有自动化的方法来做到这一点?我有ReSharper,但似乎没有办法自动执行此操作,这意味着我正在编写大量繁琐的代码.

最佳答案
我将创建一个包装类,它使用和设计的接口只展示你需要的Foo.

例如:

class MyFooWrapper : IFoo
{
   private Foo _foo;
    // methods exposed by IFoo
 }

您可以通过使MyFooWrapper成为一个抽象类来包含属性和任何其他基本功能,但不要将Foo放在那里,而是拥有一个继承foo包装器的类.

转载注明原文:c# – 为第三方库的依赖注入编写包装器和接口的自动方式? - 代码日志