• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

인터페이스 구현과 인젝션 관련 질문

21.10.11 21:28 작성 조회수 160

0

services.AddSingleton<IFoodService,FastFoodService>();

services.AddSingleton<IFoodService, FoodService>();

둘다 등록을 했을 경우.

Index에서 둘중에 FoodService와 FastFoodService를 어떻게 구분해서 인젝션 할수 있나요?

인젝트를 FoodService나 FastFoodService 로 할 경우는 오류가 생기고

둘다 등록해놓고 실행하면 그냥 FoodService로 동작을 하는데. 

어떤 방법을 이용해야지 둘중 어떤 서비스를 이용하는지 구분할 수 있을까요?

답변 1

답변을 작성해보세요.

0

사실 그런 코드가 필요하다는건, 설계에 약간 의문점이 있다고 볼 수 있습니다.
그러나 정말 필요한 상황이 있다면 적당히 우회하는 꼼수를 사용할 수 있는데 아래 링크 참고 바랍니다.

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