2013-01-09 3 views
0

Есть ли способ создать экземпляр объекта ConstructorArgument с использованием выражения лямбда вместо жестко заданной строки, чтобы определить имя свойства?NInject ConstructorArgument с выражением лямбда

Что-то вроде этого:

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

В моем случае, ValidationDictionary не то же самое во многих местах и ​​по этой причине я не могу использовать поставщик.

ответ

1

Вы можете использовать ToConstructor связывание как

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

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

Или даже пусть словарь проверки будет введен, как это определено в BlogPost.

+0

Как я уже сказал, это именно то, чего я не могу сделать, потому что экземпляр ValidationDictionary отличается в каждом месте, где я использую валидатор. – Samuel

 Смежные вопросы

  • Нет связанных вопросов^_^