It may be better, but I do the registration, and then let the container allow my "first" class.
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Registering dependencies ...");
var container = new UnityContainer();
container.RegisterType<ProgramStarter, ProgramStarter>();
RegisterTypes(container);
var program = container.Resolve<ProgramStarter>();
Console.WriteLine("All done. Starting program...");
program.Run();
}
}
And my class ProgramStarter.
public class ProgramStarter
{
private readonly IService _service;
public ProgramStarter(IService service)
{
_service= service;
}
public void Run()
{
}
}
source
share