Как в данном случае применить Dependency Injection контейнер?
Как в данном случае применить Dependency Injection контейнер?
class Program
{
static void Main(string[] args)
{
var services = new ServiceCollection();
services.AddScoped<IEmployee, Worker>();
services.BuildServiceProvider();
var qwe = new Some();
}
}
public class Some
{
private IEmployee _employee;
public Some(IEmployee employee)
{
_employee = employee;
}
public void DoIt()
{
_employee.DoWork();
}
}
public interface IEmployee
{
void DoWork();
}
internal class Manager : IEmployee
{
public void DoWork()
{
Console.WriteLine("Do some more important...");
}
}
public class Worker : IEmployee
{
public void DoWork()
{
Console.WriteLine("Do something");
}
}
Источник: Stack Overflow на русском