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