Извините за смутное название.Я объясню, что я пытаюсь заставить работать.
My Admin View использует Admin ViewModel, которая, в свою очередь, вызывает Admin Service, которая является набором Admin Repositories.Для простоты скажем, что существует только один репозиторий, на который ссылается Admin Service.
При построении модели Admin View верхняя часть моего класса выглядит следующим образом
public class adminMenuVM
{
private readonly IAdminMenuService menuService;
public adminMenuVM(IAdminMenuService adminMenuService)
{
this.menuService = adminMenuService;
}
public adminMenuVM()
{
menuItems = getMenuItems();
menuCats = getMenuCats();
}
}
Где getMenuItems и getMenuCats - это два метода, которые используют сервис для извлечения данных, которые затем устанавливаются для представлениямодель.
Моя проблема в том, что когда я запускаю приложение, я получаю сообщение об ошибке «Ссылка на объект не установлена на экземпляр объекта».Теперь я знаю, что это потому, что adminMenuVM () вызывается viwModel, а не конструктором, инициализирующим сервис.
Мой вопрос: как я могу убедиться, что конструктор службы вызывается и выполняет ли он свою функцию, когда вызывается моя модель представления?
Я пытался использовать: это на конструкторе без параметров, но это не позволит мне назначить интерфейс, так как вы не можете создать новый экземпляр интерфейса.
Редактировать @ 18:49 У меня была мысль, но я не знаю, как ее реализовать.Может кто-нибудь посоветовать, как я мог бы "Конструктор Цепь" или если это возможно?Моя мысль состоит в том, чтобы связать конструктор без параметров с сервисным конструктором, чтобы он вызывался.Я могу быть далеко, но был бы благодарен за вашу помощь.