我有一个类,其构造函数具有一个默认值的参数。使用Ninject 2.2,它会尊重它 [Optional]
属性和工作正常 没有定义绑定 对于像这样声明的构造函数:
public EmployeeValidator([Optional] IValidator<PersonName> personNameValidator = null)
从升级到Ninject 3.0后,此对象的构造失败,并显示一条消息,指出提供程序返回null:
测试方法ValidatorIsolated.Tests.EmployeeValidatorTest.CreateEmployeeValidatorTest引发异常:
Ninject.ActivationException:使用IValidator {PersonName}的条件隐式自绑定激活IValidator {PersonName}时出错
Provider返回null。
激活路径:
2)将依赖IValidator {PersonName}注入到EmployeeValidator类型的构造函数的参数personNameValidator中
1)IValidator {Employee}的请求
建议:
1)确保提供程序正确处理创建请求。
是个 [Optional]
当参数的默认值存在时,属性仍然很荣幸,使用可选参数处理注入的最佳方法是什么?