Posso usar o Typed Factory Facility para retornar a implementação com base no parâmetro (enum)?
Não tenho certeza se isso é possível ou não.
Eu preciso retornar a implementação correta de um serviço com base em um valor de enum. Então, a implementação codificada à mão seria algo como:
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;
}
}
}
As implementações que são retornadas têm dependências adicionais que precisarão ser injetadas através do contêiner, portanto, uma fábrica de laminados manuais não funcionará.
Isso é possível e, em caso afirmativo, como seria o registro?