mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-04-23 00:06:43 +08:00
1. 重新设计了Generate项目及相关特性的命名,避免与其他类型混淆。
2. 补充了部分注释。 3. 修改了删除容器节点时,容器内子节点未正确删除的问题。
This commit is contained in:
@@ -7,6 +7,11 @@
|
||||
/// <typeparam name="TValue"></typeparam>
|
||||
public interface IEnumConvertor<TEnum, TValue>
|
||||
{
|
||||
/// <summary>
|
||||
/// 将枚举值转换为指定类型的值
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
/// <returns></returns>
|
||||
TValue Convertor(TEnum e);
|
||||
}
|
||||
|
||||
|
||||
@@ -252,11 +252,20 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public string Result { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// 上传当前节点的执行状态和结果信息。
|
||||
/// </summary>
|
||||
/// <param name="runState"></param>
|
||||
public void UploadState(RunState runState)
|
||||
{
|
||||
State = runState;
|
||||
TS = DateTime.Now - StateTime;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传当前节点的执行结果值。
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
public void UploadResultValue(object value = null)
|
||||
{
|
||||
if(value is null)
|
||||
@@ -269,6 +278,11 @@ namespace Serein.Library.Api
|
||||
Result = $"{type.FullName}::{value}";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传当前节点的执行参数信息。
|
||||
/// </summary>
|
||||
/// <param name="values"></param>
|
||||
public void UploadParameters(object[] values = null)
|
||||
{
|
||||
if (values is null)
|
||||
@@ -282,6 +296,10 @@ namespace Serein.Library.Api
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 返回当前节点的执行信息字符串,包含状态、耗时和结果。
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public override string ToString()
|
||||
{
|
||||
return $"[{State}]{TS.TotalSeconds:0.000}ms : {Result}";
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace Serein.Library.Api
|
||||
{
|
||||
#nullable enable
|
||||
/// <summary>
|
||||
/// 流程运行接口
|
||||
/// </summary>
|
||||
@@ -24,7 +25,7 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
/// <param name="ioc"></param>
|
||||
/// <param name="setDefultMemberOnReset">用于每次启动时,重置IOC后默认注册某些类型</param>
|
||||
void UseExternalIOC(ISereinIOC ioc, Action<ISereinIOC> setDefultMemberOnReset = null);
|
||||
void UseExternalIOC(ISereinIOC ioc, Action<ISereinIOC>? setDefultMemberOnReset = null);
|
||||
|
||||
/// <summary>
|
||||
/// 开始运行流程
|
||||
|
||||
@@ -153,6 +153,9 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class ProjectLoadedEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 项目加载完成事件参数
|
||||
/// </summary>
|
||||
public ProjectLoadedEventArgs()
|
||||
{
|
||||
}
|
||||
@@ -163,6 +166,10 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class ProjectSavingEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 项目保存事件参数
|
||||
/// </summary>
|
||||
/// <param name="projectData"></param>
|
||||
public ProjectSavingEventArgs(SereinProjectData projectData)
|
||||
{
|
||||
ProjectData = projectData;
|
||||
@@ -179,6 +186,10 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class LoadDllEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 加载了DLL外部依赖事件参数
|
||||
/// </summary>
|
||||
/// <param name="nodeLibraryInfo"></param>
|
||||
public LoadDllEventArgs(FlowLibraryInfo nodeLibraryInfo)
|
||||
{
|
||||
this.NodeLibraryInfo = nodeLibraryInfo;
|
||||
@@ -194,6 +205,9 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class RemoteDllEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 移除了DLL外部依赖事件参数
|
||||
/// </summary>
|
||||
public RemoteDllEventArgs()
|
||||
{
|
||||
}
|
||||
@@ -270,6 +284,9 @@ namespace Serein.Library.Api
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 连接关系所在的画布Guid
|
||||
/// </summary>
|
||||
public string CanvasGuid { get; }
|
||||
|
||||
/// <summary>
|
||||
@@ -309,11 +326,18 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class CanvasCreateEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 画布添加事件参数
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
public CanvasCreateEventArgs(FlowCanvasDetails model)
|
||||
{
|
||||
Model = model;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 画布
|
||||
/// </summary>
|
||||
public FlowCanvasDetails Model { get; }
|
||||
}
|
||||
|
||||
@@ -322,11 +346,18 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class CanvasRemoveEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 画布移除事件参数
|
||||
/// </summary>
|
||||
/// <param name="canvasGuid"></param>
|
||||
public CanvasRemoveEventArgs(string canvasGuid)
|
||||
{
|
||||
CanvasGuid = canvasGuid;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 所处画布Guid
|
||||
/// </summary>
|
||||
public string CanvasGuid { get; }
|
||||
}
|
||||
|
||||
@@ -360,10 +391,6 @@ namespace Serein.Library.Api
|
||||
/// 在UI上的位置
|
||||
/// </summary>
|
||||
public PositionOfUI Position { get; private set; }
|
||||
/// <summary>
|
||||
/// 容器
|
||||
/// </summary>
|
||||
//public string RegeionGuid { get; private set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -371,12 +398,20 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class NodeRemoveEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 被移除节点事件参数
|
||||
/// </summary>
|
||||
/// <param name="canvasGuid"></param>
|
||||
/// <param name="nodeGuid"></param>
|
||||
public NodeRemoveEventArgs(string canvasGuid, string nodeGuid)
|
||||
{
|
||||
CanvasGuid = canvasGuid;
|
||||
this.NodeGuid = nodeGuid;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 被移除节点所在的画布Guid
|
||||
/// </summary>
|
||||
public string CanvasGuid { get; }
|
||||
|
||||
/// <summary>
|
||||
@@ -390,6 +425,12 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class NodePlaceEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 节点放置事件参数
|
||||
/// </summary>
|
||||
/// <param name="canvasGuid"></param>
|
||||
/// <param name="nodeGuid"></param>
|
||||
/// <param name="containerNodeGuid"></param>
|
||||
public NodePlaceEventArgs(string canvasGuid, string nodeGuid, string containerNodeGuid)
|
||||
{
|
||||
CanvasGuid = canvasGuid;
|
||||
@@ -397,6 +438,9 @@ namespace Serein.Library.Api
|
||||
ContainerNodeGuid = containerNodeGuid;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 画布Guid
|
||||
/// </summary>
|
||||
public string CanvasGuid { get; }
|
||||
|
||||
/// <summary>
|
||||
@@ -414,6 +458,12 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class NodeTakeOutEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 节点取出事件参数
|
||||
/// </summary>
|
||||
/// <param name="canvasGuid"></param>
|
||||
/// <param name="containerNodeGuid"></param>
|
||||
/// <param name="nodeGuid"></param>
|
||||
public NodeTakeOutEventArgs(string canvasGuid, string containerNodeGuid, string nodeGuid)
|
||||
{
|
||||
CanvasGuid = canvasGuid;
|
||||
@@ -421,6 +471,9 @@ namespace Serein.Library.Api
|
||||
ContainerNodeGuid = containerNodeGuid;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 所在画布Guid
|
||||
/// </summary>
|
||||
public string CanvasGuid { get; }
|
||||
|
||||
/// <summary>
|
||||
@@ -438,9 +491,17 @@ namespace Serein.Library.Api
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 起始节点发生了变化
|
||||
/// </summary>
|
||||
public class StartNodeChangeEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 起始节点发生了变化事件参数
|
||||
/// </summary>
|
||||
/// <param name="canvasGuid"></param>
|
||||
/// <param name="oldNodeGuid"></param>
|
||||
/// <param name="newNodeGuid"></param>
|
||||
public StartNodeChangeEventArgs(string canvasGuid, string oldNodeGuid, string newNodeGuid)
|
||||
{
|
||||
CanvasGuid = canvasGuid;
|
||||
@@ -448,6 +509,9 @@ namespace Serein.Library.Api
|
||||
this.NewNodeGuid = newNodeGuid; ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 所在画布Guid
|
||||
/// </summary>
|
||||
public string CanvasGuid { get; }
|
||||
|
||||
/// <summary>
|
||||
@@ -515,6 +579,11 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class NodeInterruptStateChangeEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 节点中断状态改变事件参数
|
||||
/// </summary>
|
||||
/// <param name="nodeGuid"></param>
|
||||
/// <param name="isInterrupt"></param>
|
||||
public NodeInterruptStateChangeEventArgs(string nodeGuid,bool isInterrupt)
|
||||
{
|
||||
NodeGuid = nodeGuid;
|
||||
@@ -526,14 +595,19 @@ namespace Serein.Library.Api
|
||||
/// 中断的节点Guid
|
||||
/// </summary>
|
||||
public string NodeGuid { get;}
|
||||
/// <summary>
|
||||
/// 是否中断
|
||||
/// </summary>
|
||||
public bool IsInterrupt { get;}
|
||||
// public InterruptClass Class { get;}
|
||||
}
|
||||
/// <summary>
|
||||
/// 节点触发了中断事件参数
|
||||
/// </summary>
|
||||
public class InterruptTriggerEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 中断触发类型
|
||||
/// </summary>
|
||||
public enum InterruptTriggerType
|
||||
{
|
||||
/// <summary>
|
||||
@@ -550,6 +624,12 @@ namespace Serein.Library.Api
|
||||
Obj,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 中断触发事件参数
|
||||
/// </summary>
|
||||
/// <param name="nodeGuid"></param>
|
||||
/// <param name="expression"></param>
|
||||
/// <param name="type"></param>
|
||||
public InterruptTriggerEventArgs(string nodeGuid, string expression, InterruptTriggerType type)
|
||||
{
|
||||
this.NodeGuid = nodeGuid;
|
||||
@@ -561,7 +641,13 @@ namespace Serein.Library.Api
|
||||
/// 中断的节点Guid
|
||||
/// </summary>
|
||||
public string NodeGuid { get;}
|
||||
/// <summary>
|
||||
/// 被触发的表达式
|
||||
/// </summary>
|
||||
public string Expression { get;}
|
||||
/// <summary>
|
||||
/// 中断触发类型
|
||||
/// </summary>
|
||||
public InterruptTriggerType Type { get;}
|
||||
}
|
||||
|
||||
@@ -572,6 +658,9 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class IOCMembersChangedEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// IOC成员发生改变的事件类型
|
||||
/// </summary>
|
||||
public enum EventType
|
||||
{
|
||||
/// <summary>
|
||||
@@ -583,12 +672,23 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
Completeuild,
|
||||
}
|
||||
/// <summary>
|
||||
/// IOC成员发生改变事件参数
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="instance"></param>
|
||||
public IOCMembersChangedEventArgs(string key, object instance)
|
||||
{
|
||||
this.Key = key;
|
||||
this.Instance = instance;
|
||||
}
|
||||
/// <summary>
|
||||
/// IOC成员发生改变事件参数
|
||||
/// </summary>
|
||||
public string Key { get; private set; }
|
||||
/// <summary>
|
||||
/// IOC成员发生改变事件参数
|
||||
/// </summary>
|
||||
public object Instance { get; private set; }
|
||||
}
|
||||
|
||||
@@ -597,38 +697,20 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public class NodeLocatedEventArgs : FlowEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 节点需要定位事件参数
|
||||
/// </summary>
|
||||
/// <param name="nodeGuid"></param>
|
||||
public NodeLocatedEventArgs(string nodeGuid)
|
||||
{
|
||||
NodeGuid = nodeGuid;
|
||||
}
|
||||
/// <summary>
|
||||
/// 节点需要定位事件参数
|
||||
/// </summary>
|
||||
public string NodeGuid { get; private set; }
|
||||
}
|
||||
|
||||
/* /// <summary>
|
||||
/// 节点移动了
|
||||
/// </summary>
|
||||
public class NodeMovedEventArgs : FlowEventArgs
|
||||
{
|
||||
public NodeMovedEventArgs(string nodeGuid, double x, double y)
|
||||
{
|
||||
this.NodeGuid = nodeGuid;
|
||||
this.X = x;
|
||||
this.Y = y;
|
||||
}
|
||||
/// <summary>
|
||||
/// 节点唯一标识
|
||||
/// </summary>
|
||||
public string NodeGuid { get; private set; }
|
||||
/// <summary>
|
||||
/// 画布上的x坐标
|
||||
/// </summary>
|
||||
public double X { get; private set; }
|
||||
/// <summary>
|
||||
/// 画布上的y坐标
|
||||
/// </summary>
|
||||
public double Y { get; private set; }
|
||||
}*/
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -729,23 +811,113 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
event EnvOutHandler EnvOutput;
|
||||
|
||||
/// <summary>
|
||||
/// 加载了DLL外部依赖事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnDllLoad(LoadDllEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 项目加载完成事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnProjectLoaded(ProjectLoadedEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 项目准备保存事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnProjectSaving(ProjectSavingEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 节点连接关系发生改变事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnNodeConnectChanged(NodeConnectChangeEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 画布创建事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnCanvasCreated(CanvasCreateEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 画布移除事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnCanvasRemoved(CanvasRemoveEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 节点创建事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnNodeCreated(NodeCreateEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 节点移除事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnNodeRemoved(NodeRemoveEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 节点放置事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnNodePlace(NodePlaceEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 节点取出事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnNodeTakeOut(NodeTakeOutEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 起始节点发生了变化事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnStartNodeChanged(StartNodeChangeEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 流程运行完成事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnFlowRunComplete(FlowEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 被监视的对象发生了改变事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnMonitorObjectChanged(MonitorObjectEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 节点中断状态发生了改变事件(开启了中断/取消了中断)
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnNodeInterruptStateChanged(NodeInterruptStateChangeEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 触发了中断事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnInterruptTriggered(InterruptTriggerEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// IOC容器成员发生了改变事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnIOCMembersChanged(IOCMembersChangedEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 节点需要定位事件
|
||||
/// </summary>
|
||||
/// <param name="eventArgs"></param>
|
||||
public void OnNodeLocated(NodeLocatedEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 环境输出信息事件
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <param name="value"></param>
|
||||
public void OnEnvOutput(InfoType type, string value);
|
||||
}
|
||||
|
||||
@@ -864,7 +1036,7 @@ namespace Serein.Library.Api
|
||||
/// 获取当前项目信息
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<SereinProjectData> GetProjectInfoAsync();
|
||||
SereinProjectData GetProjectInfoAsync();
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading.Tasks;
|
||||
using Serein.Library;
|
||||
|
||||
namespace Serein.Library.Api
|
||||
{
|
||||
@@ -72,11 +67,11 @@ namespace Serein.Library.Api
|
||||
MethodDetails MethodDetails { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 父节点集合
|
||||
/// 前继节点集合
|
||||
/// </summary>
|
||||
Dictionary<ConnectionInvokeType, List<IFlowNode>> PreviousNodes { get;}
|
||||
/// <summary>
|
||||
/// 子节点集合
|
||||
/// 后继节点集合
|
||||
/// </summary>
|
||||
Dictionary<ConnectionInvokeType, List<IFlowNode>> SuccessorNodes { get; set; }
|
||||
|
||||
|
||||
@@ -118,14 +118,14 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
/// <param name="values"></param>
|
||||
/// <returns></returns>
|
||||
IJsonToken CreateObject(IDictionary<string, object> values = null);
|
||||
IJsonToken CreateObject(IDictionary<string, object>? values = null);
|
||||
|
||||
/// <summary>
|
||||
/// 创建数组
|
||||
/// </summary>
|
||||
/// <param name="values"></param>
|
||||
/// <returns></returns>
|
||||
IJsonToken CreateArray(IEnumerable<object> values = null);
|
||||
IJsonToken CreateArray(IEnumerable<object>? values = null);
|
||||
|
||||
/// <summary>
|
||||
/// 将对象转换为JSON Token,自动转换为 JObject/JArray。
|
||||
|
||||
@@ -11,7 +11,9 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
public interface INodeContainer
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 容器节点的Guid,与 IFlowNode.Guid 相同
|
||||
/// </summary>
|
||||
string Guid { get; }
|
||||
/// <summary>
|
||||
/// 放置一个节点
|
||||
|
||||
@@ -20,20 +20,7 @@ namespace Serein.Library.Api
|
||||
/// </summary>
|
||||
IFlowNode NodeModel { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 根据索引从入参数据获取数据
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
/// <param name="index"></param>
|
||||
/// <returns></returns>
|
||||
//object GetArgData(IDynamicContext context, int index);
|
||||
/// <summary>
|
||||
/// 获取流程当前传递的数据
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
/// <returns></returns>
|
||||
/// FlowResult GetFlowData(IDynamicContext context);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取全局数据
|
||||
/// </summary>
|
||||
|
||||
@@ -108,8 +108,32 @@ namespace Serein.Library.Api
|
||||
/// <param name="action"></param>
|
||||
/// <returns></returns>
|
||||
ISereinIOC Run<T>(Action<T> action);
|
||||
/// <summary>
|
||||
/// 从容器中获取数个类型的实例进行运行
|
||||
/// </summary>
|
||||
/// <typeparam name="T1"></typeparam>
|
||||
/// <typeparam name="T2"></typeparam>
|
||||
/// <param name="action"></param>
|
||||
/// <returns></returns>
|
||||
ISereinIOC Run<T1, T2>(Action<T1, T2> action);
|
||||
/// <summary>
|
||||
/// 从容器中获取数个类型的实例进行运行
|
||||
/// </summary>
|
||||
/// <typeparam name="T1"></typeparam>
|
||||
/// <typeparam name="T2"></typeparam>
|
||||
/// <typeparam name="T3"></typeparam>
|
||||
/// <param name="action"></param>
|
||||
/// <returns></returns>
|
||||
ISereinIOC Run<T1, T2, T3>(Action<T1, T2, T3> action);
|
||||
/// <summary>
|
||||
/// 从容器中获取数个类型的实例进行运行
|
||||
/// </summary>
|
||||
/// <typeparam name="T1"></typeparam>
|
||||
/// <typeparam name="T2"></typeparam>
|
||||
/// <typeparam name="T3"></typeparam>
|
||||
/// <typeparam name="T4"></typeparam>
|
||||
/// <param name="action"></param>
|
||||
/// <returns></returns>
|
||||
ISereinIOC Run<T1, T2, T3, T4>(Action<T1, T2, T3, T4> action);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user