Ejemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Injector"/> class.
 /// </summary>
 /// <param name="instantiator">Instantiator for creation of new object instances</param>
 /// <param name="modules">Collection of binding modules backing this injector</param>
 /// <param name="debug">Enable for debug mode, which includes additional logging</param>
 public Injector(IInstantiator instantiator, IEnumerable <IModule> modules, bool debug = false)
 {
     _instance     = this;
     _instantiator = instantiator;
     _debug        = debug;
     _binder       = new Binder(_debug);
     // Allow injection of the Injector and Instantiator
     _binder.Install(new InjectorModule(this, instantiator));
     _binder.Install(modules);
     _binder.Configure();
     ConstructEagerSingletons();
 }