using System; namespace SmallInjector { /// /// DI Container /// public interface IContainer { /// /// Register types in the resolve container. /// /// Type of the service. /// Type of the interface of the service. /// True if the service should be singleton. False otherwise. /// instance of the service void RegisterType(bool isSingleton, TService instance = default) where TService : TInterface; /// /// Register types in the resolve container. /// void RegisterType(bool isSingleton, TService instance = default); /// /// Resolve service of specified type. /// object Resolve(Type serviceInterface); /// /// Resolve service of specified type. /// TService Resolve(); } }