Ninject get方法将构造函数参数设置为null

时间:2011-07-11 06:41:54

标签: ninject ninject-2

我正在使用Ninject在我的应用程序中实现IoC / DI。它在整个应用程序中运行良好,除了一种情况,我设置了一个类型为User Defined Class的构造函数参数。

这个类有四个属性,所有属性都是用户定义的类型,所有这些属性都是序列化的枚举。

现在,当我解析内核的依赖关系时,它会抛出异常,因为构造函数参数值设置为null。我不知道为什么会这样。

是因为可串行化的枚举还是别的。我无法改变我的类型,所以请在上下文中向我推荐一些我不需要更改类型的内容。

修改

IManager manager = GlobalData.Kernel.Get<IManager> (new ConstructorArgument("context", Context)); 
// Context Class code is here 
public class Context { 
    public string ContextCode { get; set; } 
    public Module Module { get; set; } 
    public Screen Screen { get; set; } } 

模块和屏幕是可序列化的枚举

1 个答案:

答案 0 :(得分:0)

那是因为您的Context传递给Get作为构造函数参数是Null。