2014-02-24 4 views
0

ninject를 사용하여 mutiple param을 어떻게 주입합니까? 예 : Ninject contstructor 다중 인터페이스 매개 변수

IWeapon weap; 
ISheild sheld; 
ISoap isoap; 
public myclass(IWeapon weapon, IShield shield, ISoap soap) 
{ 
    weap = weapon; 
    sheld = shield; 
    isoap = soap; 
} 

은 이미 내가 그들을 결합하는 한 모두가 내 프로젝트는 나에게 Ninject에 예외를주는 유지를 실행할 수 없습니다

kernel.Bind<IWeapon>().To<Sword>(); 
kernel.Bind<IShield>().To<DragonSheild>(); 
kernel.Bind<ISoap>().To<Safeguard>(); 

를 사용하는 것이 었습니다 나에게 Ninject에 활성화 예외를 준이 시도.

+1

질문에 예외 세부 정보를 추가하십시오. 예외를 throw하는 코드도 표시 –

+0

예외 세부 정보를 우리와 공유 할 수 있습니까? –

+0

Ninject.dll에서 'Ninject.ActivationException'유형의 예외가 발생했지만 사용자 코드 – Patrick87

답변

0

귀하가 제출 한 사례가 귀하의 신청서에서 나온 것이 아닙니까? 나는 응용 프로그램이 다음과 같습니다 생각 :

public class TerminalService : ITerminalService 
{ 
    public TerminalService(IPOSJobService posJobService){} 
} 

public class POSJobService : IPOSJobService 
{ 
    public class POSJobService(ITerminalService terminalsService){} 
} 

그것이 사실이라면 다음 문제는 분명하다. 두 클래스는 서로 상호 참조합니다.
그것은 일종의 부모 - 자식 관계이지만 종속성은 한 가지 방법이어야합니다.

+0

네 말이 맞아. 피터 .. 고마워! 이미 그것을 해결! =) – Patrick87