Unity - 如何在nullable int的构造函数参数中传递null

时间:2013-09-02 09:47:28

标签: unity-container

我有一个以nullable int为参数的类。

public class Test
{
    public Test(int? p)
    {
        // ......
    }

    // ......
}

如何使用unity解析它(将null作为参数传递)?

myContainer.RegisterType<Test>(new InjectionConstructor(10));

这可以将10作为值传递,但如果我传递null,则抛出异常。

2 个答案:

答案 0 :(得分:6)

编辑使用泛型:

尝试使用InjectionParameter:

container.RegisterType<Test>(new InjectionConstructor(new InjectionParameter<int?>(null)));

答案 1 :(得分:5)

使用正确类型的InjectionParameter<T>,即

container.RegisterType<Test>(new InjectionConstructor(new InjectionParameter<int?>(null)));

这已在visual studio中测试过。