У меня есть один файл Repository.cs
который содержит интерфейс и его реализацию:
public interface IRepository
{
IEnumerable<City> Cities { get; }
void AddCity(City newCity);
}
public class MemoryRepository : IRepository
{
private List<City> cities = new List<City> {
new City { Name = "London", Country = "UK", Population = 8539000},
new City { Name = "New York", Country = "USA", Population = 8406000 },
new City { Name = "San Jose", Country = "USA", Population = 998537 },
new City { Name = "Paris", Country = "France", Population = 2244000 }
};
public IEnumerable<City> Cities => cities;
public void AddCity(City newCity)
{
cities.Add(newCity);
}
}
И в HomeController
я пытаюсь передать THHE Cities
поглотитель к виду, как так:
public class HomeController : Controller
{
private IRepository repository;
public HomeController(IRepository repo)
{
repository = repo;
}
public IActionResult Index()
{
return View(repository.Cities);
}
}
Однако я получаю эту ошибку:
InvalidOperationException: не удается разрешить службу для типа "Cities.Models.IRepository" при попытке активировать "Cities.Controllers.HomeController".