以下では、実行時にモデルの依存関係の 1 つにコンストラクター パラメーターを挿入しようとしている場合、パラメーター オーバーライド オプションを使用しません。私たちがしなければならないことは他にありますか?
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()
{
}
}
マッピング ユニティ:
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));
}