-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
인터페이스 구현과 인젝션 관련 질문
21.10.11 21:28 작성 조회수 160
0
services.AddSingleton<IFoodService,FastFoodService>();
services.AddSingleton<IFoodService, FoodService>();
둘다 등록을 했을 경우.
Index에서 둘중에 FoodService와 FastFoodService를 어떻게 구분해서 인젝션 할수 있나요?
인젝트를 FoodService나 FastFoodService 로 할 경우는 오류가 생기고
둘다 등록해놓고 실행하면 그냥 FoodService로 동작을 하는데.
어떤 방법을 이용해야지 둘중 어떤 서비스를 이용하는지 구분할 수 있을까요?
답변을 작성해보세요.
0
Rookiss
지식공유자2021.10.14
사실 그런 코드가 필요하다는건, 설계에 약간 의문점이 있다고 볼 수 있습니다.
그러나 정말 필요한 상황이 있다면 적당히 우회하는 꼼수를 사용할 수 있는데 아래 링크 참고 바랍니다.
https://stackoverflow.com/questions/39174989/how-to-register-multiple-implementations-of-the-same-interface-in-asp-net-core
https://stackoverflow.com/questions/39072001/dependency-injection-resolving-by-name
답변 1