Код отражения:
Код: Выделить всё
var types = Assembly.Load("Come.Demo")
.GetTypes()
.Where(t => typeof(IDemo).IsAssignableFrom(t))
.ToList();
Код: Выделить всё
public class DemoService : BaseService
where TDemo : class
{
// Implementation
}
Я создал словарь типа: Dictinary и повторяю этот словарь для регистрации компонента, как показано ниже
Код: Выделить всё
if (type.IsGenericType)
{
services.AddScoped(typeof(BaseService), type);
}
System.ArgumentException: «Невозможно создать экземпляр типа реализации «Com.Demo.DemoService`1[TDemo]» для типа службы «Com.Demo.DemoService» .BaseService'.'
Нужна помощь, чтобы понять, почему он не регистрируется. Есть ли другой способ сделать это?
Подробнее здесь: https://stackoverflow.com/questions/786 ... -all-class