1

以下では、実行時にモデルの依存関係の 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));
    }
4

1 に答える 1

0
Main()
{
    var testChildChild = new TestChildChild();
    var testObject = UnityContainer.Resolve<ITest>(new DependencyOverride("testChildChild", testChildChild));
}
于 2012-10-17T10:07:09.053 に答える