1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-10-30 23:42:33 +01:00
Sonarr/NzbDrone.Common/Composition/IContainer.cs

32 lines
1.2 KiB
C#
Raw Normal View History

2013-05-11 01:53:50 +02:00
using System;
using System.Collections.Generic;
using TinyIoC;
namespace NzbDrone.Common.Composition
{
public interface IContainer
{
TinyIoCContainer TinyContainer { get; }
void Register<T>(T instance) where T : class;
void Register<TService, TImplementation>()
where TImplementation : class, TService
where TService : class;
T Resolve<T>() where T : class;
object Resolve(Type type);
void Register(Type serviceType, Type implementationType);
void Register<TService>(Func<IContainer, TService> factory) where TService : class;
void RegisterSingleton<TService, TImplementation>()
where TImplementation : class, TService
where TService : class;
void RegisterSingleton<T>() where T : class;
void RegisterSingleton(Type service, Type implementation);
IEnumerable<T> ResolveAll<T>() where T : class;
IEnumerable<object> ResolveAll(Type type);
void Register(Type registrationType, object instance);
2013-05-30 03:33:20 +02:00
void RegisterAllAsSingleton(Type registrationType, IEnumerable<Type> implementationList);
2013-05-11 01:53:50 +02:00
bool IsTypeRegistered(Type type);
IEnumerable<Type> GetImplementations(Type contractType);
2013-05-11 01:53:50 +02:00
}
}