mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-04-13 11:26:34 +08:00
优化了运行环境与启动器的运行逻辑,以及IOC容器的注册/绑定/获取对象的机制
This commit is contained in:
@@ -4,24 +4,19 @@ using System.Text;
|
||||
|
||||
namespace Serein.Library.Api
|
||||
{
|
||||
public interface ISereinIoc
|
||||
public interface ISereinIOC
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或创建类型的实例(不注入依赖项)
|
||||
/// </summary>
|
||||
object GetOrCreateServiceInstance(Type serviceType, params object[] parameters);
|
||||
T GetOrCreateServiceInstance<T>(params object[] parameters);
|
||||
/// <summary>
|
||||
/// 清空
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
ISereinIoc Reset();
|
||||
ISereinIOC Reset();
|
||||
/// <summary>
|
||||
/// 注册实例
|
||||
/// </summary>
|
||||
ISereinIoc Register(Type type, params object[] parameters);
|
||||
ISereinIoc Register<T>(params object[] parameters);
|
||||
ISereinIoc Register<TService, TImplementation>(params object[] parameters) where TImplementation : TService;
|
||||
ISereinIOC Register(Type type, params object[] parameters);
|
||||
ISereinIOC Register<T>(params object[] parameters);
|
||||
ISereinIOC Register<TService, TImplementation>(params object[] parameters) where TImplementation : TService;
|
||||
/// <summary>
|
||||
/// 获取或创建并注入目标类型
|
||||
/// </summary>
|
||||
@@ -35,15 +30,15 @@ namespace Serein.Library.Api
|
||||
/// 创建目标类型的对象, 并注入依赖项
|
||||
/// </summary>
|
||||
object Instantiate(Type type, params object[] parameters);
|
||||
ISereinIoc Build();
|
||||
ISereinIoc Run<T>(Action<T> action);
|
||||
ISereinIoc Run<T1, T2>(Action<T1, T2> action);
|
||||
ISereinIoc Run<T1, T2, T3>(Action<T1, T2, T3> action);
|
||||
ISereinIoc Run<T1, T2, T3, T4>(Action<T1, T2, T3, T4> action);
|
||||
ISereinIoc Run<T1, T2, T3, T4, T5>(Action<T1, T2, T3, T4, T5> action);
|
||||
ISereinIoc Run<T1, T2, T3, T4, T5, T6>(Action<T1, T2, T3, T4, T5, T6> action);
|
||||
ISereinIoc Run<T1, T2, T3, T4, T5, T6, T7>(Action<T1, T2, T3, T4, T5, T6, T7> action);
|
||||
ISereinIoc Run<T1, T2, T3, T4, T5, T6, T7, T8>(Action<T1, T2, T3, T4, T5, T6, T7, T8> action);
|
||||
ISereinIOC Build();
|
||||
ISereinIOC Run<T>(Action<T> action);
|
||||
ISereinIOC Run<T1, T2>(Action<T1, T2> action);
|
||||
ISereinIOC Run<T1, T2, T3>(Action<T1, T2, T3> action);
|
||||
ISereinIOC Run<T1, T2, T3, T4>(Action<T1, T2, T3, T4> action);
|
||||
ISereinIOC Run<T1, T2, T3, T4, T5>(Action<T1, T2, T3, T4, T5> action);
|
||||
ISereinIOC Run<T1, T2, T3, T4, T5, T6>(Action<T1, T2, T3, T4, T5, T6> action);
|
||||
ISereinIOC Run<T1, T2, T3, T4, T5, T6, T7>(Action<T1, T2, T3, T4, T5, T6, T7> action);
|
||||
ISereinIOC Run<T1, T2, T3, T4, T5, T6, T7, T8>(Action<T1, T2, T3, T4, T5, T6, T7, T8> action);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user