ВО

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