Inyector simple inyecta dependencia múltiple en BaseClass

tengo unBaseViewModel que es heredado por múltiplesViewModel clases En miBaseViewModel Tengo un par de dependencias que me inyectanViewModel. Ahora si necesito agregar una nueva dependencia en miBaseViewModel Necesito cambiar todas las máquinas virtuales que heredanBaseViewModel. Avíseme cómo se puede manejar en Simple Injector. La siguiente es mi estructura de código:

¿Cómo puedo hacer que mi inyección de clase base sea independiente para que no necesite hacer cambios en toda mi clase heredada?

Código:

public class BaseViewModel
{
    protected readonly IAESEnDecrypt AESEnDecrypt;
    protected readonly IDataService DataService;
    protected readonly INavigationService NavigateToPage;
    public BaseViewModel(INavigationService nav, IDataService data, IAESEnDecrypt encrypt)
    {
        AESEnDecrypt= encrypt;
        NavigateToPage = nav;
        DataService = data;
    }
}


public class ViewModel
{
   public ViewModel(INavigationService nav, IDataService data, IAESEnDecrypt encrypt) : base (nav, data, encrypt)
   {

   }
}

My BaseViewModel contiene algunas de las siguientes interfaces cuya implementación se inyecta a través del constructor:

- NavigationService
- DataService
- GeoLocationService
- SmartDispatcher
- MessageBus which implement Message Aggregator

También contiene algunas propiedades comunes como variables estáticas cuyos datos se utilizan en toda la aplicación, como UserDetails. Y también contiene CancellationToken, IsBusy para mostrar la barra de progreso.

BaseViewModel también contiene el método HandleException que maneja todas las excepciones entrantes de todos los ViewModel. También contiene algunos comandos comunes que se utilizan en todas las vistas, como Si gnoutCommand, NavigationBar Commands.

En realidad, ha comenzado a contener todo tipo de métodos comunes utilizados entre varios ViewModel.

Sugiera cómo puedo refactorizar este código.

Respuestas a la pregunta(3)

Su respuesta a la pregunta