.net 클래스가 있습니다. 우리의 의존성을 해결하기 위해 IOC로 단일성을 사용하고 있습니다. 처음부터 모든 종속성을로드하려고 시도합니다. 런타임시 종속성을로드 할 수있는 Unity의 방법 (설정)이 있습니까?종속성 주입의 지연 해상도
4
A
답변
0
Unity는 게으르게 인스턴스를 생성해야한다고 생각합니다. 다른 종속성을 포함하는 어셈블리를로드하고 있다는 것을 의미합니까? 그렇다면 MEF을 살펴볼 수 있습니다. 모듈 식 응용 프로그램을 위해 특별히 설계되었습니다.
1
클래스에 게으른 종속성을 전달할 수 있도록 일부 코드 here을 블로깅했습니다.
class MyClass(IDependency dependency)
class MyClass(ILazy<IDependency> lazyDependency)
이 당신에게 당신이 그것을 사용해야 할 때까지 종속성의 실제 작성을 지연하는 옵션을 제공합니다 : 그것은 당신이 대체 할 수 있습니다. 필요할 때
lazyDependency.Resolve()
으로 전화하십시오. 게으른 <에 대한 네이티브 지원 -
container.RegisterType(typeof(ILazy<>),typeof(Lazy<>));
10
더 나은 솔루션있다 : 당신이 당신의 용기에 등록해야합니다
public interface ILazy<T>
{
T Resolve();
T Resolve(string namedInstance);
}
public class Lazy<T> : ILazy<T>
{
IUnityContainer container;
public Lazy(IUnityContainer container)
{
this.container = container;
}
public T Resolve()
{
return container.Resolve<T>();
}
public T Resolve(string namedInstance)
{
return container.Resolve<T>(namedInstance);
}
}
이 그것을 사용할 수 있도록 : 여기
는 ILazy의 구현입니다 T > 및 IEnumerable < 게으른 > Unity 2.0에서. 그것을 확인하십시오
here.
+0
'unityContainer.AddNewExtension
관련 문제
- 1. 였는지를에 DLL을 주입의 의미이며 였는지를에 DLL을 주입의 의미가 무엇인지
- 2. WPF/Silverlight 종속성 속성의 "렌더링"지연?
- 3. 여기에 SQL 주입의 가능성이 있습니까?
- 4. 해상도
- 5. Grails 의존성 해상도
- 6. 앵커 태그 지연 "지연"
- 7. 다중 해상도
- 8. 과부하 해상도
- 9. 화면 해상도
- 10. 화면 해상도
- 11. WPF의 해상도
- 12. 지연 컬렉션을 지연 초기화하지 못했습니다.
- 13. Maven 작업 영역 해상도 horked
- 14. MSVC 런타임 종속성 문제
- 15. 해상도 독립 winform 만들기, C# winform의 해상도 설정, winform이 실행되는 화면 해상도 얻기
- 16. 종속성 프로젝트 지정 : 복사 - 종속성?
- 17. 중첩 된 해상도
- 18. 유니티 해상도 문제
- 19. Windows Forms 해상도 문제
- 20. IPhone4 화면 해상도 정보
- 21. 강제 안드로이드 카메라 해상도
- 22. UIGraphicsGetImageFromCurrentImageContext() 망막 해상도?
- 23. C# ImageButton 그림 해상도
- 24. 슬링의 기본 스크립트 해상도
- 25. silverlight 해상도 문제
- 26. Unity의 연쇄 해상도
- 27. F # 연산자 해상도
- 28. Flex의 해상도 문제
- 29. DirectX 장치의 해상도 얻기
- 30. 화면 해상도 및 CSS
또는 프리즘 (Composite Application Guidance) : http://compositewpf.codeplex.com –