mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-19 16:06:33 +08:00
37 lines
1.5 KiB
C#
37 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace Serein.Library.Api
|
|
{
|
|
public interface ISereinIoc
|
|
{
|
|
/// <summary>
|
|
/// 获取或创建类型的实例(不注入依赖项)
|
|
/// </summary>
|
|
object GetOrCreateServiceInstance(Type serviceType, params object[] parameters);
|
|
T CreateServiceInstance<T>(params object[] parameters);
|
|
ISereinIoc Reset(); // 清空
|
|
ISereinIoc Register(Type type, params object[] parameters);
|
|
ISereinIoc Register<T>(params object[] parameters);
|
|
ISereinIoc Register<TService, TImplementation>(params object[] parameters) where TImplementation : TService;
|
|
T GetOrInstantiate<T>();
|
|
object GetOrInstantiate(Type type);
|
|
|
|
/// <summary>
|
|
/// 创建目标类型的对象, 并注入依赖项
|
|
/// </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);
|
|
}
|
|
|
|
}
|