WinForms 응용 프로그램에서 Ninject를 사용하고 싶습니다. 내 사용자 컨트롤에 사용하는 방법을 알아낼 수 없습니다. 때때로 그들은 DI 프레임 워크를 통해 구성하고자하는 서비스에 의존합니다. 이러한 컨트롤은 디자이너를 통해 관리 할 수 있어야합니다 (따라서 기본 생성자가 필요합니다).Ninject를 사용하여 외부에서 생성 된 객체에 종속성 삽입 (사용자 정의)
그래서이 사용자 정의 컨트롤의 속성에 의존성을 주입 할 수 있습니까? 디자이너가이를 구성 할 수 있어야하므로 kernel.Get<TestClass>
은 여기에서 작동하지 않습니다. Form_OnLoad()
메서드의 종속성을 "채울"수있는 메서드 나 코드가 있습니까?
또 다른 예제를 생각해 볼 수 있습니다. 이미 기존 개체의 속성을 삽입하고 싶지만 WinForms 사용자 컨트롤은 설명하기 쉽습니다.
좋아, 컨트롤러가 결국 의존성을 가져야한다는 것을 알았습니다. 먼저 MVC 뷰를 생성 한 다음 컨트롤러를 생성합니다. 사용자 컨트롤은 항상 폼이나 다른 컨트롤에 의해 생성되기 때문에 별도의 경로를 따라 컨트롤러를 만들어야합니까? – Nathan
myControl에 [Inject]와 속성이있는 경우 kernel.Inject (myControl)을 사용하는 것이 잘못 되었습니까? – Nathan
Ninject 자체에 의존성이 있다는 것을 깨닫는 한 그렇게 할 수 있습니다. –