Я создаю небольшое консольное приложение, использующее ядро .net 2.2, и пытаюсь внедрить внедрение зависимостей в мое приложение.Я получаю некоторые необработанные исключения.
Person.cs
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int? Age { get; set; }
public string Gender { get; set; }
}
IPersonRepository
public interface IPersonRepository
{
bool AddPerson(Person entity);
IEnumerable<Person> GetAllPersons();
}
PersonRepository.cs
public class PersonRepository:IPersonRepository
{
private readonly IPersonRepository _personRepository;
public PersonRepository(IPersonRepository personRepository)
{
_personRepository = personRepository;
}
public bool AddPerson(Person entity)
{
_personRepository.AddPerson(entity);
return true;
}
public IEnumerable<Person> GetAllPersons()
{
throw new System.NotImplementedException();
}
}
Program.cs
using Microsoft.Extensions.DependencyInjection;
namespace ConsoleAppWithDI
{
internal static class Program
{
private static void Main(string[] args)
{
var serviceProvider = new ServiceCollection()
.AddTransient<IPersonRepository, PersonRepository>()
.BuildServiceProvider();
var personRepositoryObj = serviceProvider
.GetService<IPersonRepository>();
personRepositoryObj
.AddPerson(new Person
{
Id = 1,
Name = "Tom",
Age = 24,
Gender = "Male"
});
}
}
}
Я получаю это Исключение .Кто-нибудь может сказать мне, где я делаю ошибку?Также я хотел бы знать, безопасно ли делать .exe в консольном приложении (которое не работает 24 * 7) с использованием DI?
Любая помощь будет высоко ценится.Спасибо