代码之家  ›  专栏  ›  技术社区  ›  aaa

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

  •  3
  • aaa  · 技术社区  · 12 年前

    我有一个类,它将可为null的int作为参数。

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

    如何使用统一(将null作为参数传递)来解决它?

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

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

    2 回复  |  直到 12 年前
        1
  •  7
  •   jlvaquero    12 年前

    编辑为使用泛型:

    请尝试改用InjectionParameter:

    container.RegisterType<Test>(new InjectionConstructor(new InjectionParameter<int?>(null)));
    
        2
  •  5
  •   Lukazoid    12 年前

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

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

    这已经在visual studio中进行了测试。