ВО

Size: a a a
ВО

Ɖ
Ɖ
Ɖ
IBaseUserController<T>, например IBaseUserController<City>OD
Ɖ
Ɖ
VL
services.AddTransient<IBaseUserController, BaseEntityController<..., ..., ...>>();
services.AddTransient<IBaseUserController, BaseEntityController<..., ..., ...>>();
services.AddTransient<IBaseUserController, BaseEntityController<..., ..., ...>>();
services.AddTransient<Func<Type, IBaseUserController>>(provider =>
{
return type =>
{
var controllers = provider.GetServices(typeof(IBaseUserController)).Cast<IBaseUserController>().ToArray();
return controllers.FirstOrDefault(c => c.GetType() == type);
};
});VL
Ɖ
Ɖ
VL
Ɖ
Ɖ
VL
public MyController(ILogger<MyController> logger) { }foreach (var serviceType in ...)
services.AddTransient(typeof(ILogger<>).MakeGenericType(new[] {serviceType}), ...);VL
MN
MN
AS
AS