Reputation: 867
In the below if I am trying to inject a constructor parameter in one of the dependencies of the model at runtime, it doesn't take with Parameter Override option. Is there any thing else that we need to do?
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));
}
Upvotes: 1
Views: 232
Reputation: 867
Main()
{
var testChildChild = new TestChildChild();
var testObject = UnityContainer.Resolve<ITest>(new DependencyOverride("testChildChild", testChildChild));
}
Upvotes: 0