不确定这是否可能。
我需要根据枚举值返回服务的正确实现。所以手工编码的实现看起来像:
public enum MyEnum
{
One,
Two
}
public class MyFactory
{
public ITypeIWantToCreate Create(MyEnum type)
{
switch (type)
{
case MyEnum.One
return new TypeIWantToCreate1();
break;
case MyEnum.Two
return new TypeIWantToCreate2();
break;
default:
return null;
}
}
}
返回的实现具有额外的依赖项,需要通过容器注入,因此手动工厂将无法工作。
这可能吗?如果可以,注册会是什么样子?