Мы используем инфраструктуру Unity для внедрения зависимостей. Я регистрирую две конкретные реализации для одного и того же класса. как ...
container.RegisterType<IInterface, MyFirstClass>("first");
container.RegisterType<IInterface, MySecondClass>("second");
В настоящее время существует несколько классов, в которых имеется инъекция для вышеупомянутого интерфейса.
public class Class1
{
private IInterface _myClass
public Class1 (IInterface myClass)
{
_myClass = myClass // // should be instance of MyFirstClass
}
//.. other code
}
public class Class2
{
private IInterface _myClass
public Class2 (IInterface myClass)
{
_myClass = myClass // should be instance of MySecondClass
}
//.. other code
}
Итак, теперь мы хотим разрешить IInterface
выборочно в двух вышеупомянутых классах. Class1
и Class2
.
Class1
должен вводиться с помощью MyFirstClass
, а Class2
должен вводиться с помощью MyFirstClass
. Этого можно достичь с помощью платформы Unity? Если нет, то какие другие платформы IoC поддерживают это?
Пожалуйста, предложите ваше мнение.