我有一些遗留代码访问我们的数据库。我想为单元测试中的IoC/DI的每个类创建一个接口。C#:单元测试静态类的DI
这些类中的所有方法都是静态的。
当我尝试通过VisualStudio“提取一个接口”时,它失败并且说“无法提取接口:该类型不包含任何可以提取到接口的成员”。
有一些链接可以解释为什么接口不应该有静态方法here和here。
这个限制似乎主要是为了支持多态性......我现在并不真正在意这些类,它们并不真正从任何东西(除了Object)继承。
那么,如何使用IoC来获取我可以从中提取数据的对象?
我宁愿不制作实例方法,因为实例增加了工作集。
你不能“注入”静态类 - 它们在编译时绑定。如果你想使用注入,你必须注入实例。我建议克服你对“增加工作集”的恐惧,并处理这个问题,当它成为问题时。 –
*“多态性[我]现在并不在乎。”*是的,你这样做,因为你会*想为单元测试中的IoC/DI的每个类创建一个接口。“* –