2014-03-05 2 views
1

질문의 배경 : 나는 현재 유니티 컨테이너를 구성하고 있고 클래스의 생성자를 설정하는 데 문제가 있어요오류 해결 C#을 통일 생성자

.

해당 생성자의 클래스는 표시된 것처럼 설정됩니다. 그것은 3 개의 문자열 매개 변수를 취한 다음 컨테이너에 설정하는 2 개의 객체를가집니다.

public VersionControlFacade(string serverPath, string username, string password, IConnectionManager connectionManager, IPromoManager promoManager) 

는 위 클래스의 구성 유니티 용기는 같습니다

container.RegisterType<IPromoManager, promotionManager>(); 
container.RegisterType<IConnectionManager, connectionManager>(); 
container.RegisterType<ITfsVersionControlFacade, TfsVersionControlFacade>(new InjectionConstructor(connectionString, username, password)); 

는 오류 : 현재

UnityContainer 객체를 해결하기 위해 노력하고, 다음과 같은 예외가 발생 될 때 :

The type VersionControlFacade does not have a constructor that takes the parameters (String, String, String)

나는 이것을 이해한다. 나는 실제로 두 개의 다른 매개 변수를 전달하고있다. 그러나 이것이 IPromoManagerIConnectionManager을 등록하고 이것들이 해결되고 VersionControlFacade 생성자에 자동으로 주입된다고 생각한다.

논리가 잘못된 부분은 누구에게 말해 줄 수 있습니까? 해결하려면 어떻게해야합니까? 내가 믿는

+0

귀하의 다른 질문 http://stackoverflow.com/questions/21675845/cannot-set보기 -web-service-constructor-parameter는 이름 지정 문제가있을 수 있음을 보여줍니다. 관심있는 생성자가'VersionControlFacade'인데도'VersionControlService'를 구현합니까? – AndyG

답변