Мы используем Unity framework для инъекции зависимостей. Я регистрирую две конкретные реализации для одного класса. как ...выборочно разрешать зависимости одного и того же интерфейса в единстве
container.RegisterType<IInterface, MyFirstClass>("first");
container.RegisterType<IInterface, MySecondClass>("second");
В настоящее время существует несколько классов, которые имеет contructer инъекцию выше интерфейс ..
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
selectivly в этих двух классов. Class1
и Class2
.
Class1
должен быть поврежден MyFirstClass
и Class2
должен быть введен MyFirstClass
. Можно ли это достичь через систему Unity? Если нет, какие другие рамки IoC поддерживают это?
Просьба высказать свое мнение.
Великое решение. он работает для меня. Большое спасибо –