44 lines
1.5 KiB
C#
44 lines
1.5 KiB
C#
using System;
|
|
|
|
namespace SmallInjector
|
|
{
|
|
/// <summary>
|
|
/// DI Container
|
|
/// </summary>
|
|
public interface IContainer
|
|
{
|
|
/// <summary>
|
|
/// Register types in the resolve container.
|
|
/// </summary>
|
|
/// <typeparam name="TService">Type of the service.</typeparam>
|
|
/// <typeparam name="TInterface">Type of the interface of the service.</typeparam>
|
|
/// <param name="isSingleton">True if the service should be singleton. False otherwise.</param>
|
|
/// <param name="instance">instance of the service</param>
|
|
void RegisterType<TService, TInterface>(bool isSingleton, TService instance = default) where TService : TInterface;
|
|
|
|
/// <summary>
|
|
/// Register types in the resolve container.
|
|
/// </summary>
|
|
void RegisterType<TService>(bool isSingleton, TService instance = default);
|
|
|
|
/// <summary>
|
|
/// Resolve service of specified type.
|
|
/// </summary>
|
|
object Resolve(Type serviceInterface);
|
|
|
|
/// <summary>
|
|
/// Resolve service of specified type.
|
|
/// </summary>
|
|
TService Resolve<TService>();
|
|
|
|
/// <summary>
|
|
/// Returns true, if the service is registered. False otherwise.
|
|
/// </summary>
|
|
bool IsRegistered<TService>();
|
|
|
|
/// <summary>
|
|
/// Returns true, if the service is registered. False otherwise.
|
|
/// </summary>
|
|
bool IsRegistered(Type serviceType);
|
|
}
|
|
} |