Простой Инжектор вводит множественную зависимость в BaseClass

у меня естьBaseViewModel который наследуется несколькимиViewModel классы. В моемBaseViewModel У меня есть пара зависимостей, которые вводятся изViewModel, Теперь, если мне нужно добавить новую зависимость в моемBaseViewModel Мне нужно изменить все виртуальные машины, которые наследуютBaseViewModel, Пожалуйста, дайте мне знать, как это можно сделать в Simple Injector. Ниже приведена моя структура кода:

Как я могу сделать инъекцию базового класса независимой, чтобы мне не нужно было вносить изменения во все мои унаследованные классы?

Код:

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 Содержит некоторые из следующих интерфейсов, реализация которых вводится через конструктор:

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

Он также содержит некоторые общие свойства в виде статических переменных, данные которых используются в приложении, например UserDetails. А также содержит CancellationToken, IsBusy для отображения индикатора выполнения.

BaseViewModel также содержит метод HandleException, который обрабатывает все входящие исключения из всех ViewModel. Также содержит некоторые общие команды, которые используются во всех представлениях, таких как Si gnoutCommand, NavigationBar Commands.

На самом деле он начал содержать все виды общих методов, используемых среди различных ViewModel.

Пожалуйста, предложите, как я могу изменить этот код?

Ответы на вопрос(3)

Ваш ответ на вопрос