using System;
using System.Collections.Generic;
using System.Text;
namespace Serein.Library.Api
{
public interface ISereinIOC
{
///
/// 清空
///
///
ISereinIOC Reset();
///
/// 注册实例
///
ISereinIOC Register(Type type, params object[] parameters);
ISereinIOC Register(params object[] parameters);
ISereinIOC Register(params object[] parameters) where TImplementation : TService;
///
/// 获取或创建并注入目标类型
///
T GetOrRegisterInstantiate();
///
/// 获取或创建并注入目标类型
///
object GetOrRegisterInstantiate(Type type);
///
/// 创建目标类型的对象, 并注入依赖项
///
object Instantiate(Type type, params object[] parameters);
ISereinIOC Build();
ISereinIOC Run(Action action);
ISereinIOC Run(Action action);
ISereinIOC Run(Action action);
ISereinIOC Run(Action action);
ISereinIOC Run(Action action);
ISereinIOC Run(Action action);
ISereinIOC Run(Action action);
ISereinIOC Run(Action action);
}
}