인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

임우섭님의 프로필 이미지
임우섭

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버

Dependency Injection

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

작성

·

284

0

services.AddSingleton<IFoodService,FastFoodService>();

services.AddSingleton<IFoodService, FoodService>();

둘다 등록을 했을 경우.

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

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

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

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

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

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

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

임우섭님의 프로필 이미지
임우섭

작성한 질문수

질문하기