/// <summary> /// Registers a container extension. /// </summary> /// <param name="extension">The extension to be registered.</param> /// <returns>The injection container for chaining.</returns> public IInjectionContainer RegisterExtension(IContainerExtension extension) { if (this.extensions == null) { this.extensions = new List <IContainerExtension>(); } this.extensions.Add(extension); extension.OnRegister(this); return(this); }
public IInjectionContainer RegisterExtension <T>() where T : IContainerExtension { if (this.extensions == null) { this.extensions = new List <IContainerExtension>(); } IContainerExtension extension = this.Resolve <T>(); // Only adds the extension if it's not already added. if (!this.HasExtension(extension.GetType())) { this.extensions.Add(extension); extension.OnRegister(this); } return(this); }