Используя Prism
7.1, я могу зарегистрировать две именованные зависимости:
containerRegistry.Register<ICustomersService, CustomersFakeService>("One");
containerRegistry.Register<ICustomersService, CustomersFakeService>("Two");
Теперь - как я могу использовать любую из них в ViewModel
конструкторе?
public CustomersViewModel(ICustomersService customersService, EventAggregator eventAggregator)
throwsисключение:
Не удалось разрешить зависимость, введите = 'WPFPrismDI.ViewModels.CustomersViewModel', name = '(none)'.Исключение произошло во время: при разрешении.Исключение: InvalidOperationException - Текущий тип, WPFPrismDI.Services.ICustomersService, является интерфейсом и не может быть создан.Вам не хватает отображения типов?----------------------------------------------- В это времяИсключением является контейнер: Resolving WPFPrismDI.ViewModels.CustomersViewModel, (нет) Параметр Resolving «CustomersService» конструктора WPFPrismDI.ViewModels.CustomersViewModel (WPFPrismDI.Services.ICustomersService, событие WPS.Pervice.ICustomersService, (нет)
Моя реализация услуги:
public interface ICustomersService
{
ObservableCollection<CustomerModel> CustomerGetAll();
}
public class CustomersDBService : ICustomersService
{
public ObservableCollection<CustomerModel> CustomerGetAll()
{
ObservableCollection<CustomerModel> returnValue = new ObservableCollection<CustomerModel>();
returnValue.Add(new CustomerModel() { NameFirst = "DB", });
return returnValue;
}
}