2013-01-09 4 views
0

하드 코딩 된 문자열 대신 람다 식을 사용하여 ConstructorArgument의 인스턴스를 만들어 속성 ​​이름을 정의 할 수 있습니까? 이 같은람다 식으로 NInject ConstructorArgument

뭔가 : 내 경우

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

는 ValidationDictionary 내가 공급자를 사용할 수 없습니다 많은 장소에서 이런 이유로 동일하지 않습니다.

답변

1

당신은

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

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

심지어 블로그 게시물에 정의 된 유효성 검사 사전이 주입 될 수 있도록처럼 바인딩 ToConstructor를 사용할 수 있습니다.

+0

내가 말했듯이 이것은 ValidationDictionary의 인스턴스가 유효성 검사기를 사용하는 각 위치마다 다르기 때문에 내가 할 수없는 일입니다. – Samuel