0
Autofac이 인스턴스 초기화를 완료했을 때를 확인하는 방법이 있습니까? Lazy 종속성이 있거나 속성을 통해 종속성을 주입하는 경우 필요할 수 있습니다.autofac 인스턴스 초기화 알림
public class Component : IKeepMeInformed {
private readonly IOtherComponent otherComponent;
public class Component(Lazy<IOtherComponent> otherComponent) {
this.otherComponent = otherComponent;
}
void IKeepMeInformed.InitializationCompleted() {
// Do whatever you need with this.otherComponent.Value
}
}
감사합니다. 나는 그런 메커니즘이 있다는 것을 압니다. 나는 그러한 초기화가 필요한 각 구성 요소의 등록 세부 사항을 변경하는 것을 좋아하지 않습니다. 따라서 인터페이스 기반 솔루션을 원합니다. –
정확한 시나리오는 다음과 같습니다. component (ICommand) 다른 구성 요소 (ViewModel)를 가져 와서 해당 PropertyChanged 이벤트에 가입합니다. 일반적으로 명령은 이벤트가 생성되면 이벤트에 등록해야하며, 일반적으로 생성자에서 수행됩니다. 내 경우에는 어디에 순환 의존성이며 ViewModel을 생성자에서 사용할 수 없습니다. 따라서 Autofac에서 구성 완료 시점을 알려주고 싶습니다. –
그러나 명령 인스턴스의 수명도 ViewModel에 의해 제어되지 않습니까? 예 : VM 생성자에서 생성 되었습니까? 아니면 그 명령이 컨테이너를 통해 어떻게 든 생겨나는 것을 상상하십니까? –