Как ввести параметр конструктора глубоко в зависимости во время выполнения при разрешении через единицу
В приведенном ниже примере, если я пытаюсь внедрить параметр конструктора в одну из зависимостей модели во время выполнения, это не относится к параметру "Переопределение параметра". Есть ли что-то еще, что нам нужно сделать?
public class Test: ITest
{
ITestChild _testChild ;
public Test(ITestChild testChild)
{
_testChild = testChild;
}
}
public class TestChild: ITestChild
{
ITestChildChild _testChildChild ;
public Test(ITestChildChild testChildChild)
{
_testChildChild = testChildChild;
}
}
public class TestChildChild: ITestChildChild
{
public TestChildChild()
{
}
}
Mapping Unity:
var unityContainer = new UnityContainer();
unityContainer.RegisterType<ITest, Test>(new ContainerControlledLifetimeManager());
unityContainer.RegisterType<ITestChild TestChild>();
unityContainer.RegisterType<ITestChildChild, TestChildChild>();
Main()
{
var testChildChild = new TestChildChild();
var testObject = UnityContainer.Resolve<ITest>(new ParameterOverride("testChildChild", testChildChild));
}
1 ответ
Main()
{
var testChildChild = new TestChildChild();
var testObject = UnityContainer.Resolve<ITest>(new DependencyOverride("testChildChild", testChildChild));
}