Я создал класс из класса ServiceBase в своем коде.
public class ControlSystemServiceBase: ServiceBase
{
public ControlSystemServiceBase() : base()
{
this.AutoLog = true;
}
}
после этого я зарегистрировал этот класс как
container.RegisterType<ControlSystemServiceBase, ServiceAlarmAccess>("AlarmAccessService", IocLifetime.SingleInstance);
container.RegisterType<ControlSystemServiceBase, ServiceDataAccess>("DataAccessService", IocLifetime.SingleInstance);
Хорошо. Теперь я хочу получить все объекты для этого типа ControlSystemServiceBase.
Но я не могу.
var servicesToRun = container.ResolveAll(typeof(ControlSystemServiceBase));
servicesToRun всегда 0. Но если я изменю регистрации с ControlSystemServiceBase на ServiceBase и зарегистрирую мои классы как
container.RegisterType<ServiceBase, ServiceAlarmAccess>("AlarmAccessService", IocLifetime.SingleInstance);
container.RegisterType<ServiceBase, ServiceDataAccess>("DataAccessService", IocLifetime.SingleInstance);
Я могу получить все 2 объекта. Зачем?