답변:
@LukeH의 다른 대답과 함께 주요 답변 외에도 클래스 대신 여러 인터페이스를 사용할 수 있습니다. 이와 같은 (하나의 클래스와 n 카운트 인터페이스)
public TResponse Call<TResponse, TRequest>(TRequest request)
where TRequest : MyClass, IMyOtherClass, IMyAnotherClass
또는
public TResponse Call<TResponse, TRequest>(TRequest request)
where TRequest : IMyClass,IMyOtherClass
@LukeH의 주요 답변 외에도 종속성 주입에 문제가 있으며이 문제를 해결하는 데 시간이 걸렸습니다. 같은 문제에 직면 한 사람들을 위해 공유 할 가치가 있습니다.
public interface IBaseSupervisor<TEntity, TViewModel>
where TEntity : class
where TViewModel : class
이 방법으로 해결됩니다. 컨테이너 / 서비스에서 키는 typeof이고 쉼표 (,)
services.AddScoped(typeof(IBaseSupervisor<,>), typeof(BaseSupervisor<,>));
이것은이 답변 에서 언급되었습니다 .