Представьте себе большой оператор switch, который создает различные классы:
switch (typeIdentifier)
{
case SomeEnum.Type1:
instantiatedObject = new Type1Class(...);
break;
...
}
Type1Class, Type2Class, ..., TypeNClass, все они наследуются от общего абстрактного класса.Я хотел бы заменить весь оператор switch чем-то вроде:
scope.Resolve<TheAbstractClass>(...);
Тем не менее, он должен быть преобразован в правильный класс на основе значения typeIdentifier.Я задаюсь вопросом, возможно ли это, и если да, то как?
Одним из решений было бы полное отказ от autofac и просто наличие словаря делегатов, который создает экземпляр нужного класса.Но я предпочитаю использовать автофак из-за простоты.Заранее спасибо!