2013-03-25 3 views
1

나는 다음 클래스 선언이 : 왜 Unity IoC가 나를위한 수업을 만들지 못합니까?

public class SeedData 
{ 
    private IUow _uow; 

    public SeedData(IUow uow) 
    { 
     _uow = uow; 
    } 

} 

및 부트 스트 래퍼에

:

container.RegisterType<IUow, Uow>(); 
내 코드는 다음과 같이 인스턴스를 선언하려고

:

var a = new SampleData.EF.SeedData(); 

내가 메시지를 얻을 그러나 :

Error 
'SampleData.EF.SeedData' does not contain a constructor that takes 0 arguments 

누군가 IoC에서 나를 위해 Uow 인스턴스를 만들 수있는 방법을 설명 할 수 있습니까? 내가 약 가는거야?

+0

IoC 컨테이너를 사용해야합니다 ... –

+0

어떻게 접근 할 수 있습니까? – Alan2

답변

4

에서 개체를 얻을 것이다 PARAMS없이 public 생성자를 추가하려고 직접 new. 이 방법을 사용하면 컨테이너가 자동으로 IUow을 삽입합니다.

+0

시도했지만 컨테이너를 해결할 수 없습니다. – Alan2

+0

"컨테이너를 해결할 수 없음"이란 무엇을 의미합니까? –

+0

[필수 읽기] (http://msdn.microsoft.com/en-us/library/ff664762(v=pandp.50) .aspx # ResolveObjects_CustomTypes)? –

0

공용 생성자를 추가 할 때 매개 변수없이 기본값을 재정의합니다.

var a = container.Resolve<SeedData>(); 

를 대신 작성 : 전화 후

container.RegisterType<SeedData>(); 

을 그리고 : 당신은 또한 용기에 SeedData을 두어야 용기

+0

IoC 컨테이너를 사용하여 종속성이있는 개체를 생성하는 방법에 대해 간략히 설명합니다. –

관련 문제