0

有没有办法使用 lambda 表达式而不是硬编码字符串来创建 ConstructorArgument 的实例来定义属性的名称?

像这样的东西:

var validator = Ioc.Kernel.Get<Validators.Security.UserGroupValidator>(new ConstructorArgument( x => x.ValidationDictionary, new ValidationDictionary())

就我而言,ValidationDictionary 在很多地方都不相同,因此,我不能使用提供者。

4

1 回答 1

2

您可以使用 ToConstructor 绑定,例如

http://www.planetgeek.ch/2011/05/28/ninject-constructor-selection-preview/

   Bind<UsergroupValidator>().ToConstructor(_ => new Usergroupvalidator(new ValidationDictionary());

甚至可以按照博文中的定义注入验证字典。

于 2013-01-10T08:00:17.667 回答