2012-11-22 4 views
0

꽤 일반적인 시나리오를 바인딩 이것은 물론 유형 A의 요청에 대해서만 작동합니다. B와 C에 대한 요청은 기본 방식으로 처리됩니다. 사전는 Ninject에는 "모든 X에서 상속"

+0

왜 A''에'C'를 B''바인딩 할 당신을하고 'GetAll ()'을 호출하거나 생성자에서'IEnumerable '을 가져 옵니까? – khellang

+0

내 응용 프로그램에서 A는 ViewModelBase 클래스입니다. 새로운 ViewModel을 추가 할 때마다 매핑을 다시 업데이트하지 않기를 원합니다 ... –

답변

2

에서

감사가 ninject.extensions.conventions을 추가 할 가능성이 있다면, 당신은 다음과 같이 동적으로 바인딩 할 수 있습니다 :

kernel.Bind(x => x 
    .FromThisAssembly() 
    .SelectAllClasses() 
    .InheritedFrom<A>() 
    .BindBase() 
    .Configure(c => c.InTransientScope())); 
+0

옵션처럼 들립니다. 나는 오늘 나중에 그것을 시도 할 것이다 ... –

관련 문제