2
в asp.net ядра DI, со следующим:добавляющих общие услуги в ASP.Net ядра DI
public interface IRepository<T> where T:class {}
public class Repository<T> : IRepository<T> where T:class {}
Я сделаю следующее зарегистрировать мои: службы по
services.AddScoped(typeof(IRepository<>), typeof(Repository<>));
, но теперь У меня есть следующие услуги:
public interface IContextProvider<T1,T2> {}
public class ContextProviderOne<T2> : IContextProvider<ContextClass1,T2> { }
public class ContextProviderTwo<T2> : IContextProvider<ContextClass2,T2> { }
Как я могу добавить свои услуги в DI?
Как 'services.AddScoped (TypeOf (IRepository <>), TypeOf (IRepository <>)),' должен работать, 'IRepository <>' не может быть экземпляр, это интерфейс, а не конкретный класс. – Tseng
Вы хотите сказать, что следующая регистрация не работает со встроенным контейнером? 'services.AddScoped (typeof (IContextProvider <,>), typeof (ContextProviderOne <>)); services.AddScoped (typeof (IContextProvider <,>), typeof (ContextProviderTwo <>)); '? – Steven
@ Цен: Это, очевидно, опечатка. – Steven