【发布时间】:2019-09-26 08:22:07
【问题描述】:
我在 Ninject 中使用“ToConstant”注册的构造函数中有一个带有 3 个参数的类。我想在不提供构造函数参数的情况下获取此实例,因为已绑定为单个实例。如果可以的话?
我明白,如果我将一个类型注册为单个实例,Ninject 不应该要求任何构造函数参数,因为没有什么要实例化的。
代码 sn-p 如下:
//create object
var singleInstance = new WhateverObject(param1, param2, param3);
//bind object ToConstant
_kernel.Bind<WhateverObject>().ToConstant(singleInstance);
//resolve type
var instanceToRetrieve = _kernel.Get<WhateverObject>();
上面的语句(resolve type) 崩溃是因为WhateverObject 没有无参数的构造函数并且ninject 需要param1、param2 和param3。关键是,如果对象注册为单个实例,为什么 Ninject 需要这些参数?我们如何请求 ninject 注册为单例的类型?
感谢您的贡献!
【问题讨论】:
标签: ninject