假设我有几个接口和一个实现它们的类:
public interface ISomething1 { /* blablabla */ }
public interface ISomething2 { /* blablabla */ }
public class Service : ISomething1, ISomething2 { /* blablabla x 2 */ }
我想在SimpleIoc中注册这两个接口的类:
SimpleIoc.Default.Register<ISomething1, Service >();
SimpleIoc.Default.Register<ISomething2, Service >();
然而,这里的第二行代码会抛出一个带有以下消息的ArgumentException异常:
已经添加了具有相同键的项。
我本以为这里的键是接口本身,但显然不是这样。我的想法是使用显式键,但我希望通过依赖注入来获取实例,其中IoC只能使用无键注册表工作。
那么,如何在不改变任何接口或实现的情况下使用SimpleIoc呢?