Есть интерфейс
using System;
namespace WebEmpty.Models
{
public interface IProductRepository
{
IEnumerable<Product> Products { get; }
}
}
И класс, который его реализует
using System;
namespace WebEmpty.Models
{
public class FakeProductRepository : IProductRepository
{
public IEnumerable<Product> Products => new List<Product>
{
new Product { Name = "Football", Price = 25 },
new Product { Name = "Surf board", Price = 179 },
new Product { Name = "Running shoes", Price = 95 }
};
}
}
А так же в методе ConfigureServices файла Startup.cs добавил строчку services.AddTransient<>();
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<IProductRepository, FakeProductRepository>();
services.AddMvc();
}
Веб приложение работает, но в методе своего контролера поле repository не заполняется экземпляром FakeProductRepository()
public class ProductController : Controller
{
IProductRepository repository;
public ProductController(IProductRepository repo)
{
repository = repo;
}
public ViewResult List() => View(repository.Products);
}
Приложение взято из книги Фримена "ASP.NET Core с примерами для профессионалов", у него работает, у меня нет. Если это связано из-за различий версий, то как это исправить?