/// <summary> /// Initializes the loader using the default values. /// </summary> public Loader() { _containerLoader = this.CreateDefaultContainerLoader(); // Load everything else into the container var hostAssembly = typeof(Loader).Assembly; QueuedActions.Add(container => container.LoadFrom(hostAssembly)); // Make sure that the plugins are only added once if (!Plugins.HasElementWith(p => p is AutoPropertyInjector)) { Plugins.Add(new AutoPropertyInjector()); } if (!Plugins.HasElementWith(p => p is AutoMethodInjector)) { Plugins.Add(new AutoMethodInjector()); } if (!Plugins.HasElementWith(p => p is AutoFieldInjector)) { Plugins.Add(new AutoFieldInjector()); } // Add the initializer to the end of // the instantiation pipeline if (!Plugins.HasElementWith(p => p is InitializerPlugin)) { Plugins.Add(new InitializerPlugin()); } FileLoaders.Add(_containerLoader); }
public static void QueueAction(QueueActionBase action) { QueuedActions.Add(action); }