Я использую шаблон внедрения зависимостей для разрешения правильного экземпляра моего UnitOfWork.Когда я использую только одно сопоставление типов, все в порядке
unityContainer.RegisterType<IUnitOfWork, UnitOfWork>();
Проблема возникает, когда я использую два сопоставления типов для одного и того же интерфейса:
unityContainer.RegisterType<IUnitOfWork, UnitOfWork1>();
unityContainer.RegisterType<IUnitOfWork, UnitOfWork2>();
У меня очень распространенный кодчто при совершении вызова типа
var unitOfWork = ServiceLocator.GetInstance<IUnitOfWork>();
В некоторых случаях он должен возвращать UnitOfWork, в некоторых случаях он должен возвращать UnitOfWork2.
Как решить эту проблему без рефакторинга общей части?
PS И да - знаю про именованные контейнеры))