如何在容器构建器中允许Null作为默认值?

时间:2018-09-22 20:06:58

标签: c# dependency-injection autofac

我有一个Parent类,可以接受IChild类,该类可以默认为null。

赞:

public class Parent
{
    private IChild _child; //Nullable object.
    public Parent(IChild child) //child can be null.
    {
        this._child = child;
    }
}

当我使用Parent类时:

var parent = new Parent(null);

一切正常。

但是当我使用ContainerBuilder(autofac)时:

var cb = new ContainerBuilder();
cb.RegisterType<Parent>();
cb.RegisterInstance((IChild) null);
using (var builder = cb.Build())
{
    var builder = cb.Resolve<Parent>();
}

我遇到了一般错误:

  

system.argumentnullexception值不能为空

看起来像依赖注入在默认传递null引用方面效果不佳,有没有建议的解决方法

0 个答案:

没有答案