2009-09-30 7 views
0

몇 가지 뷰에 종속성 삽입을 주입 인터페이스로 사용하고 있습니다. 사용자 정의 컨트롤에 인터페이스를 삽입해야하는 요구 사항 중 하나입니다. ServiceDependency 속성을 사용하여 인터페이스를 주입하려고 시도했지만 작동하지 않습니다.사용자 정의 컨트롤에 종속성을 주입하는 방법

public interface ISearchService 
{ 
    void CustomizeLayout(ColumnCollection collection); 
} 
IService _service; 

[ServiceDependency] 
public IService Service 
{ 
    get 
    { 
     return _service; 
    } 
    set 
    { 
     _service = value; 
    } 
} 

내 사용자 지정 컨트롤에서 Service.CustomizeLayout (this.Columns)을 호출합니다. 그것은 객체의 인스턴스로 설정되지 않은 객체 참조를 던집니다 (서비스는 null로 제공됨).

누군가가 와트가 문제가 될 수 있다고 말하거나, 컨트롤에 종속성을 주입하는 방식으로 우리가 윈폼에 대해 수행하는 것과 비슷한 방식으로 말할 수 있습니까?

+0

죄송합니다. 0 % Accpet Rate에 대해 알고 계시지 않으세요? –

+0

@Punit Singhi : http://blog.stackoverflow.com/2009/08/new-question-asker-features/ –

+1

어떤 기술에 대해 묻고 있습니까? Windows Forms? ASP.NET? 어떤 DI 컨테이너입니까? –

답변

0

내가 CAB를 사용해 본지 오래되었으므로 내가 잘못하면 나를 용서해주십시오. 귀하의 문제는 아마도 사용자 지정 컨트롤이 CAB에 의해 만들어지지 않으며 CAB은 컨트롤이 포함 된보기를 만들 때 종속성이있는 컨트롤을 인식하지 못하는 것일 수 있습니다. 나는 문제가 발생했음을 기억하지만 정확한 해결책을 기억하지 못한다 :-(

+0

예 정확한 문제, 그것을 찾으려고 노력 중, 한 가지만 우리가 작업 항목의 항목 컬렉션으로 컨트롤을 추가 할 수 있습니다. –

관련 문제