Services are registered in a ServiceRepository
and resolved by a ServiceProvider
var repo = new ServiceRepository(); repo.Register<Service1>(); repo.Register<Service2>(); var provider = repo.CreateServiceProvider(); var svc1 = provider.Resolve<Service1>(); var svc2 = provider.Resolve<Service2>();