using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Reflection;
namespace EveOPreview {
///
/// Generic interface for an Inversion Of Control container
///
public interface IIocContainer {
void Register()
where TImplementation : TService; void Register(Type serviceType, Assembly container); void Register(); void Register(Expression> factory); void Register(Expression> factory); void RegisterInstance(TService instance); TService Resolve(); IEnumerable ResolveAll(); object Resolve(Type serviceType); IEnumerable