<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Serein.Library</name>
    </assembly>
    <members>
        <member name="T:Serein.Library.Api.IDynamicContext">
            <summary>
            流程上下文，包含运行环境接口，可以通过注册环境事件或调用环境接口，实现在流程运行时更改流程行为。
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IDynamicContext.Guid">
            <summary>
            标识流程
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IDynamicContext.Env">
            <summary>
            运行环境，包含IOC容器。
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IDynamicContext.RunState">
            <summary>
            是否正在运行
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IDynamicContext.Tag">
            <summary>
            用来在当前流程上下文间传递数据
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IDynamicContext.NextOrientation">
            <summary>
            下一个要执行的节点类别
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IDynamicContext.ExceptionOfRuning">
            <summary>
            运行时异常信息
            </summary>
        </member>
        <member name="M:Serein.Library.Api.IDynamicContext.SetPreviousNode(Serein.Library.NodeModelBase,Serein.Library.NodeModelBase)">
            <summary>
            设置节点的运行时上一节点，用以多线程中隔开不同流程的数据
            </summary>
            <param name="currentNodeModel">当前节点</param>
            <param name="PreviousNode">运行时上一节点</param>
        </member>
        <member name="M:Serein.Library.Api.IDynamicContext.GetPreviousNode(Serein.Library.NodeModelBase)">
            <summary>
            获取当前节点的运行时上一节点，用以流程中获取数据
            </summary>
            <param name="currentNodeModel"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IDynamicContext.GetFlowData(System.String)">
            <summary>
            获取节点的数据（当前节点需要获取上一节点数据时，需要从 运行时上一节点 的Guid 通过这个方法进行获取
            </summary>
            <param name="nodeGuid"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IDynamicContext.TransmissionData(Serein.Library.NodeModelBase)">
            <summary>
            上一节点数据透传到下一节点
            </summary>
            <param name="nodeModel"></param>
        </member>
        <member name="M:Serein.Library.Api.IDynamicContext.AddOrUpdate(System.String,System.Object)">
            <summary>
            添加或更新当前节点的数据
            </summary>
            <param name="nodeGuid"></param>
            <param name="flowData"></param>
        </member>
        <member name="M:Serein.Library.Api.IDynamicContext.Exit">
            <summary>
            用以提前结束当前上下文流程的运行
            </summary>
        </member>
        <member name="T:Serein.Library.Api.IDynamicFlowNode">
            <summary>
            空接口
            </summary>
        </member>
        <member name="T:Serein.Library.Api.IFlipflopContext`1">
            <summary>
            <para>触发器必须使用该接口作为返回值，同时必须用Task泛型表示，否则将不会进行等待触发。</para>
            <para>即使大多数时候，触发器传出的数据可能是任何一种数据类型，导致其泛型参数可能是无意义的 object / dynamic 。</para>
            <para>但在确定传出类型的场景下，至少可以保证数据一定为某个类型。</para>
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlipflopContext`1.State">
            <summary>
            触发器完成的状态（根据业务场景手动设置）
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlipflopContext`1.Type">
            <summary>
            触发类型
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlipflopContext`1.Value">
            <summary>
            触发时传递的数据
            </summary>
        </member>
        <member name="T:Serein.Library.Api.FlowRunCompleteHandler">
            <summary>
            流程运行完成
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.ProjectLoadedHandler">
            <summary>
            项目加载完成
            </summary>
        </member>
        <member name="T:Serein.Library.Api.ProjectSavingHandler">
            <summary>
            项目准备保存
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.LoadDllHandler">
            <summary>
            加载项目文件时成功加载了DLL文件
            </summary>
        </member>
        <member name="T:Serein.Library.Api.RemoteDllHandler">
            <summary>
            移除了加载的dll
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.NodeConnectChangeHandler">
            <summary>
            运行环境节点连接发生了改变
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.NodeCreateHandler">
            <summary>
            环境中加载了一个节点
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.NodeContainerChildChangeHandler">
            <summary>
            容器节点与子项节点的关系发生改变
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.StartNodeChangeHandler">
            <summary>
            环境中流程起始节点发生了改变
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.MonitorObjectChangeHandler">
            <summary>
            被监视的对象改变事件
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.NodeInterruptStateChangeHandler">
            <summary>
            节点中断状态改变事件（开启了中断/取消了中断）
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.ExpInterruptTriggerHandler">
            <summary>
            节点触发中断事件
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.IOCMembersChangedHandler">
            <summary>
            IOC容器发生变化
            </summary>
        </member>
        <member name="T:Serein.Library.Api.NodeLocatedHandler">
            <summary>
            节点需要定位
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.NodeMovedHandler">
            <summary>
            节点移动了（远程插件）
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="T:Serein.Library.Api.EnvOutHandler">
            <summary>
            远程环境内容输出
            </summary>
            <param name="type">输出的日志类别</param>
            <param name="value">输出的文本信息</param>
        </member>
        <member name="T:Serein.Library.Api.FlowEventArgs">
            <summary>
            流程事件签名基类
            </summary>
        </member>
        <member name="P:Serein.Library.Api.FlowEventArgs.IsSucceed">
            <summary>
            是否完成
            </summary>
        </member>
        <member name="P:Serein.Library.Api.FlowEventArgs.ErrorTips">
            <summary>
            错误提示
            </summary>
        </member>
        <member name="P:Serein.Library.Api.LoadDllEventArgs.NodeLibraryInfo">
            <summary>
            已加载了的程序集
            </summary>
        </member>
        <member name="P:Serein.Library.Api.LoadDllEventArgs.MethodDetailss">
            <summary>
            dll文件中有效的流程方法描述
            </summary>
        </member>
        <member name="T:Serein.Library.Api.NodeConnectChangeEventArgs.ConnectChangeType">
            <summary>
            连接关系改变类型
            </summary>
        </member>
        <member name="F:Serein.Library.Api.NodeConnectChangeEventArgs.ConnectChangeType.Create">
            <summary>
            创建
            </summary>
        </member>
        <member name="F:Serein.Library.Api.NodeConnectChangeEventArgs.ConnectChangeType.Remote">
            <summary>
            移除
            </summary>
        </member>
        <member name="M:Serein.Library.Api.NodeConnectChangeEventArgs.#ctor(System.String,System.String,Serein.Library.JunctionOfConnectionType,Serein.Library.ConnectionInvokeType,Serein.Library.Api.NodeConnectChangeEventArgs.ConnectChangeType)">
            <summary>
            更改方法调用关系
            </summary>
            <param name="fromNodeGuid"></param>
            <param name="toNodeGuid"></param>
            <param name="junctionOfConnectionType"></param>
            <param name="connectionInvokeType"></param>
            <param name="changeType"></param>
        </member>
        <member name="M:Serein.Library.Api.NodeConnectChangeEventArgs.#ctor(System.String,System.String,Serein.Library.JunctionOfConnectionType,System.Int32,Serein.Library.ConnectionArgSourceType,Serein.Library.Api.NodeConnectChangeEventArgs.ConnectChangeType)">
            <summary>
            更改参数传递关系
            </summary>
            <param name="fromNodeGuid"></param>
            <param name="toNodeGuid"></param>
            <param name="junctionOfConnectionType"></param>
            <param name="argIndex"></param>
            <param name="connectionArgSourceType"></param>
            <param name="changeType"></param>
        </member>
        <member name="P:Serein.Library.Api.NodeConnectChangeEventArgs.FromNodeGuid">
            <summary>
            连接关系中始节点的Guid
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeConnectChangeEventArgs.ToNodeGuid">
            <summary>
            连接关系中目标节点的Guid
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeConnectChangeEventArgs.ConnectionInvokeType">
            <summary>
            连接类型
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeConnectChangeEventArgs.ChangeType">
            <summary>
            表示此次需要在两个节点之间创建连接关系，或是移除连接关系
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeConnectChangeEventArgs.JunctionOfConnectionType">
            <summary>
            指示需要创建什么类型的连接线
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeConnectChangeEventArgs.ConnectionArgSourceType">
            <summary>
            节点对应的方法入参所需参数来源
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeConnectChangeEventArgs.ArgIndex">
            <summary>
            第几个参数
            </summary>
        </member>
        <member name="M:Serein.Library.Api.NodeCreateEventArgs.#ctor(Serein.Library.NodeModelBase,Serein.Library.PositionOfUI)">
            <summary>
            节点添加事件参数
            </summary>
            <param name="nodeModel">节点对象</param>
            <param name="position">位置</param>
        </member>
        <member name="P:Serein.Library.Api.NodeCreateEventArgs.NodeModel">
            <summary>
            节点Model对象，目前需要手动转换对应的类型
            </summary>
        </member>
        <member name="T:Serein.Library.Api.NodeContainerChildChangeEventArgs">
            <summary>
            节点父子关系改变
            </summary>
        </member>
        <member name="T:Serein.Library.Api.NodeContainerChildChangeEventArgs.Type">
            <summary>
            变更类型
            </summary>
        </member>
        <member name="F:Serein.Library.Api.NodeContainerChildChangeEventArgs.Type.Place">
            <summary>
            放置
            </summary>
        </member>
        <member name="F:Serein.Library.Api.NodeContainerChildChangeEventArgs.Type.TakeOut">
            <summary>
            取出
            </summary>
        </member>
        <member name="M:Serein.Library.Api.NodeContainerChildChangeEventArgs.#ctor(System.String,System.String,Serein.Library.Api.NodeContainerChildChangeEventArgs.Type)">
            <summary>
            
            </summary>
            <param name="childNodeGuid">子项节点</param>
            <param name="containerNodeGuid">容器节点</param>
            <param name="state">类别</param>
        </member>
        <member name="P:Serein.Library.Api.NodeContainerChildChangeEventArgs.ChildNodeGuid">
            <summary>
            子节点，该数据为此次时间的主节点
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeContainerChildChangeEventArgs.ContainerNodeGuid">
            <summary>
            父节点
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeContainerChildChangeEventArgs.State">
            <summary>
            改变类型
            </summary>
        </member>
        <member name="T:Serein.Library.Api.NodeRemoveHandler">
            <summary>
            环境中移除了一个节点
            </summary>
            <param name="eventArgs"></param>
        </member>
        <member name="P:Serein.Library.Api.NodeRemoveEventArgs.NodeGuid">
            <summary>
            被移除节点的Guid
            </summary>
        </member>
        <member name="P:Serein.Library.Api.StartNodeChangeEventArgs.OldNodeGuid">
            <summary>
            原来的起始节点Guid
            </summary>
        </member>
        <member name="P:Serein.Library.Api.StartNodeChangeEventArgs.NewNodeGuid">
            <summary>
            新的起始节点Guid
            </summary>
        </member>
        <member name="T:Serein.Library.Api.MonitorObjectEventArgs">
            <summary>
            监视的节点数据发生变化
            </summary>
        </member>
        <member name="T:Serein.Library.Api.MonitorObjectEventArgs.ObjSourceType">
            <summary>
            变化的数据类别
            </summary>
        </member>
        <member name="F:Serein.Library.Api.MonitorObjectEventArgs.ObjSourceType.NodeFlowData">
            <summary>
            流程节点的数据
            </summary>
        </member>
        <member name="F:Serein.Library.Api.MonitorObjectEventArgs.ObjSourceType.IOCObj">
            <summary>
            IOC容器对象
            </summary>
        </member>
        <member name="M:Serein.Library.Api.MonitorObjectEventArgs.#ctor(System.String,System.Object,Serein.Library.Api.MonitorObjectEventArgs.ObjSourceType)">
            <summary>
            在某个节点运行时，监听的数据发生了改变
            </summary>
            <param name="nodeGuid"></param>
            <param name="monitorData"></param>
            <param name="objSourceType"></param>
        </member>
        <member name="P:Serein.Library.Api.MonitorObjectEventArgs.NodeGuid">
            <summary>
            中断的节点Guid
            </summary>
        </member>
        <member name="P:Serein.Library.Api.MonitorObjectEventArgs.ObjSource">
            <summary>
            监听对象类别
            </summary>
        </member>
        <member name="P:Serein.Library.Api.MonitorObjectEventArgs.NewData">
            <summary>
            新的数据
            </summary>
        </member>
        <member name="T:Serein.Library.Api.NodeInterruptStateChangeEventArgs">
            <summary>
            节点中断状态改变事件参数
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeInterruptStateChangeEventArgs.NodeGuid">
            <summary>
            中断的节点Guid
            </summary>
        </member>
        <member name="T:Serein.Library.Api.InterruptTriggerEventArgs">
            <summary>
            节点触发了中断事件参数
            </summary>
        </member>
        <member name="F:Serein.Library.Api.InterruptTriggerEventArgs.InterruptTriggerType.Monitor">
            <summary>
            主动监视中断
            </summary>
        </member>
        <member name="F:Serein.Library.Api.InterruptTriggerEventArgs.InterruptTriggerType.Exp">
            <summary>
            表达式中断
            </summary>
        </member>
        <member name="F:Serein.Library.Api.InterruptTriggerEventArgs.InterruptTriggerType.Obj">
            <summary>
            对象监视中断
            </summary>
        </member>
        <member name="P:Serein.Library.Api.InterruptTriggerEventArgs.NodeGuid">
            <summary>
            中断的节点Guid
            </summary>
        </member>
        <member name="T:Serein.Library.Api.IOCMembersChangedEventArgs">
            <summary>
            流程事件签名基类
            </summary>
        </member>
        <member name="F:Serein.Library.Api.IOCMembersChangedEventArgs.EventType.Registered">
            <summary>
            登记了类型
            </summary>
        </member>
        <member name="F:Serein.Library.Api.IOCMembersChangedEventArgs.EventType.Completeuild">
            <summary>
            构建了类型
            </summary>
        </member>
        <member name="T:Serein.Library.Api.NodeLocatedEventArgs">
            <summary>
            节点需要定位
            </summary>
        </member>
        <member name="T:Serein.Library.Api.NodeMovedEventArgs">
            <summary>
            节点移动了
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeMovedEventArgs.NodeGuid">
            <summary>
            节点唯一标识
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeMovedEventArgs.X">
            <summary>
            画布上的x坐标
            </summary>
        </member>
        <member name="P:Serein.Library.Api.NodeMovedEventArgs.Y">
            <summary>
            画布上的y坐标
            </summary>
        </member>
        <member name="T:Serein.Library.Api.IFlowEnvironment">
            <summary>
            运行环境
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlowEnvironment.IOC">
            <summary>
            <para>单例模式IOC容器，内部维护了一个实例字典，默认使用类型的FullName作为Key，如果以“接口-实现类”的方式注册，那么将使用接口类型的FullName作为Key。</para>
            <para>当某个类型注册绑定成功后，将不会因为其它地方尝试注册相同类型的行为导致类型被重新创建。</para>
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlowEnvironment.EnvName">
            <summary>
            环境名称
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlowEnvironment.IsGlobalInterrupt">
            <summary>
            是否全局中断
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlowEnvironment.IsControlRemoteEnv">
            <summary>
            <para>表示是否正在控制远程</para>
            <para>Local control remote env</para>
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlowEnvironment.InfoClass">
            <summary>
            信息输出等级
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlowEnvironment.FlowState">
            <summary>
            流程运行状态
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlowEnvironment.FlipFlopState">
            <summary>
            全局触发器运行状态
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlowEnvironment.CurrentEnv">
            <summary>
            表示当前环境
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IFlowEnvironment.UIContextOperation">
            <summary>
            由运行环境提供的UI线程上下文操作，用于类库中需要在UI线程中操作视觉元素的场景
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnDllLoad">
            <summary>
            加载Dll
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnProjectLoaded">
            <summary>
            项目加载完成
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnProjectSaving">
            <summary>
            项目准备保存
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnNodeConnectChange">
            <summary>
            节点连接属性改变事件
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnNodeCreate">
            <summary>
            节点创建事件
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnNodeRemove">
            <summary>
            移除节点事件
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnNodeParentChildChange">
            <summary>
            节点父子关系发生改变事件
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnStartNodeChange">
            <summary>
            起始节点变化事件
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnFlowRunComplete">
            <summary>
            流程运行完成事件
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnMonitorObjectChange">
            <summary>
            被监视的对象改变事件
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnNodeInterruptStateChange">
            <summary>
            节点中断状态变化事件
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnInterruptTrigger">
            <summary>
            触发中断
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnIOCMembersChanged">
            <summary>
            IOC容器发生改变
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnNodeLocated">
            <summary>
            节点需要定位
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnNodeMoved">
            <summary>
            节点移动了（远程环境）
            </summary>
        </member>
        <member name="E:Serein.Library.Api.IFlowEnvironment.OnEnvOut">
            <summary>
            运行环境输出
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Serein.Library.Api.IFlowEnvironment.WriteLine(Serein.Library.InfoType,System.String,Serein.Library.InfoClass)" -->
        <member name="M:Serein.Library.Api.IFlowEnvironment.StartRemoteServerAsync(System.Int32)">
            <summary>
            启动远程服务
            </summary>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.StopRemoteServer">
            <summary>
            停止远程服务
            </summary>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.LoadProject(Serein.Library.FlowEnvInfo,System.String)">
            <summary>
            加载项目文件
            </summary>
            <param name="flowEnvInfo">包含项目信息的远程环境</param>
            <param name="filePath"></param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.SaveProject">
            <summary>
            保存项目
            </summary>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.GetProjectInfoAsync">
            <summary>
            获取当前项目信息
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.ConnectRemoteEnv(System.String,System.Int32,System.String)">
            <summary>
            加载远程环境
            </summary>
            <param name="addres">远程环境地址</param>
            <param name="port">远程环境端口</param>
            <param name="token">密码</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.ExitRemoteEnv">
            <summary>
            退出远程环境
            </summary>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.LoadLibrary(System.String)">
            <summary>
            从文件中加载Dll
            </summary>
            <param name="dllPath"></param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.UnloadLibrary(System.String)">
            <summary>
            移除DLL
            </summary>
            <param name="assemblyFullName">程序集的名称</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.ClearAll">
            <summary>
            清理加载的DLL（待更改）
            </summary>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.StartAsync">
            <summary>
            开始运行
            </summary>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.StartAsyncInSelectNode(System.String)">
            <summary>
            从选定的节点开始运行
            </summary>
            <param name="startNodeGuid"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.InvokeNodeAsync(Serein.Library.Api.IDynamicContext,System.String)">
            <summary>
            立刻调用某个节点，并获取其返回值
            </summary>
            <param name="context">调用时的上下文</param>
            <param name="nodeGuid">节点Guid</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.ExitFlow">
            <summary>
            结束运行
            </summary>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.MoveNode(System.String,System.Double,System.Double)">
            <summary>
            移动了某个节点(远程插件使用）
            </summary>
            <param name="nodeGuid"></param>
            <param name="x"></param>
            <param name="y"></param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.SetStartNode(System.String)">
            <summary>
            设置流程起点节点
            </summary>
            <param name="nodeGuid"></param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.ConnectInvokeNodeAsync(System.String,System.String,Serein.Library.JunctionType,Serein.Library.JunctionType,Serein.Library.ConnectionInvokeType)">
            <summary>
            在两个节点之间创建连接关系
            </summary>
            <param name="fromNodeGuid">起始节点Guid</param>
            <param name="toNodeGuid">目标节点Guid</param>
            <param name="fromNodeJunctionType">起始节点控制点</param>
            <param name="toNodeJunctionType">目标节点控制点</param>
            <param name="invokeType">决定了方法执行后的后继行为</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.ConnectArgSourceNodeAsync(System.String,System.String,Serein.Library.JunctionType,Serein.Library.JunctionType,Serein.Library.ConnectionArgSourceType,System.Int32)">
            <summary>
            在两个节点之间创建连接关系
            </summary>
            <param name="fromNodeGuid">起始节点Guid</param>
            <param name="toNodeGuid">目标节点Guid</param>
            <param name="fromNodeJunctionType">起始节点控制点</param>
            <param name="toNodeJunctionType">目标节点控制点</param>
            <param name="argSourceType">决定了方法参数来源</param>
            <param name="argIndex">设置第几个参数</param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Serein.Library.Api.IFlowEnvironment.LoadNodeInfosAsync(System.Collections.Generic.List{Serein.Library.NodeInfo})" -->
        <member name="M:Serein.Library.Api.IFlowEnvironment.CreateNodeAsync(Serein.Library.NodeControlType,Serein.Library.PositionOfUI,Serein.Library.MethodDetailsInfo)">
            <summary>
            创建节点
            </summary>
            <param name="nodeType">控件类型</param>
            <param name="position">节点在画布上的位置（</param>
            <param name="methodDetailsInfo">节点绑定的方法说明</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.ChangeNodeContainerChild(System.String,System.String,System.Boolean)">
            <summary>
            将节点放置在容器中/从容器中取出
            </summary>
            <param name="childNodeGuid">子节点（主要节点）</param>
            <param name="parentNodeGuid">父节点</param>
            <param name="isPlace">是否组合（反之为分解节点组合关系）</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.SetConnectPriorityInvoke(System.String,System.String,Serein.Library.ConnectionInvokeType)">
            <summary>
            设置两个节点某个类型的方法调用关系为优先调用
            </summary>
            <param name="fromNodeGuid">起始节点</param>
            <param name="toNodeGuid">目标节点</param>
            <param name="connectionType">连接关系</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.RemoveConnectInvokeAsync(System.String,System.String,Serein.Library.ConnectionInvokeType)">
            <summary>
            移除两个节点之间的方法调用关系
            </summary>
            <param name="fromNodeGuid">起始节点</param>
            <param name="toNodeGuid">目标节点</param>
            <param name="connectionType">连接类型</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.RemoveConnectArgSourceAsync(System.String,System.String,System.Int32)">
            <summary>
            移除连接节点之间参数传递的关系
            </summary>
            <param name="fromNodeGuid">起始节点Guid</param>
            <param name="toNodeGuid">目标节点Guid</param>
            <param name="argIndex">连接到第几个参数</param>
            <param name="connectionArgSourceType">参数来源类型</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.RemoveNodeAsync(System.String)">
            <summary>
            移除节点/区域/基础控件
            </summary>
            <param name="nodeGuid">待移除的节点Guid</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.ActivateFlipflopNode(System.String)">
            <summary>
            激活未启动的全局触发器
            </summary>
            <param name="nodeGuid"></param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.TerminateFlipflopNode(System.String)">
            <summary>
            终结一个全局触发器，在它触发后将不会再次监听消息（表现为已经启动的触发器至少会再次处理一次消息，后面版本再修正这个非预期行为）
            </summary>
            <param name="nodeGuid"></param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.SetNodeInterruptAsync(System.String,System.Boolean)">
            <summary>
            设置节点中断
            </summary>
            <param name="nodeGuid">更改中断状态的节点Guid</param>
            <param name="isInterrup">是否中断</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.AddInterruptExpressionAsync(System.String,System.String)">
            <summary>
            添加作用于某个对象的中断表达式
            </summary>
            <param name="key"></param>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.SetMonitorObjState(System.String,System.Boolean)">
            <summary>
            监视指定对象
            </summary>
            <param name="key">需要监视的对象</param>
            <param name="isMonitor">是否启用监视</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.CheckObjMonitorStateAsync(System.String)">
            <summary>
            检查一个对象是否处于监听状态，如果是，则传出与该对象相关的表达式（用于中断），如果不是，则返回false。
            </summary>
            <param name="key">判断的对象</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.GetOrCreateGlobalInterruptAsync">
            <summary>
            全局中断
            </summary>
            <param name="signal"></param>
            <param name="interruptClass"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.NotificationNodeValueChangeAsync(System.String,System.String,System.Object)">
            <summary>
            （用于远程）通知节点属性变更
            </summary>
            <param name="nodeGuid">节点Guid</param>
            <param name="path">属性路径</param>
            <param name="value">属性值</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.ChangeParameter(System.String,System.Boolean,System.Int32)">
            <summary>
            改变可选参数的数目
            </summary>
            <param name="nodeGuid">对应的节点Guid</param>
            <param name="isAdd">true，增加参数；false，减少参数</param>
            <param name="paramIndex">以哪个参数为模板进行拷贝，或删去某个参数（该参数必须为可选参数）</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.TryGetMethodDetailsInfo(System.String,System.String,Serein.Library.MethodDetailsInfo@)">
            <summary>
            获取方法描述信息
            </summary>
            <param name="assemblyName">程序集名称</param>
            <param name="methodName">方法描述</param>
            <param name="mdInfo">方法信息</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.TryGetDelegateDetails(System.String,System.String,Serein.Library.DelegateDetails@)">
            <summary>
            获取指定方法的Emit委托
            </summary>
            <param name="assemblyName">程序集名称</param>
            <param name="methodName"></param>
            <param name="del"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.GetEnvInfoAsync">
            <summary>
            (适用于远程连接后获取环境的运行状态)获取当前环境的信息
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.MonitorObjectNotification(System.String,System.Object,Serein.Library.Api.MonitorObjectEventArgs.ObjSourceType)">
            <summary>
            流程启动器调用，监视数据更新通知
            </summary>
            <param name="nodeGuid">更新了数据的节点Guid</param>
            <param name="monitorData">更新的数据</param>
            <param name="sourceType">更新的数据</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.TriggerInterrupt(System.String,System.String,Serein.Library.Api.InterruptTriggerEventArgs.InterruptTriggerType)">
            <summary>
            流程启动器调用，节点触发了中断
            </summary>
            <param name="nodeGuid">被中断的节点Guid</param>
            <param name="expression">被触发的表达式</param>
            <param name="type">中断类型。0主动监视，1表达式</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.AddOrUpdateGlobalData(System.String,System.Object)">
            <summary>
            添加或更新全局数据
            </summary>
            <param name="keyName">数据名称</param>
            <param name="data">数据集</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.GetGlobalData(System.String)">
            <summary>
            获取全局数据
            </summary>
            <param name="keyName">数据名称</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.LoadNativeLibraryOfRuning(System.String)">
            <summary>
            运行时加载
            </summary>
            <param name="file">文件名</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.LoadAllNativeLibraryOfRuning(System.String,System.Boolean)">
            <summary>
            运行时加载指定目录下的类库
            </summary>
            <param name="path">目录</param>
            <param name="isRecurrence">是否递归加载</param>
        </member>
        <member name="M:Serein.Library.Api.IFlowEnvironment.NodeLocated(System.String)">
            <summary>
            节点定位
            </summary>
            <param name="nodeGuid"></param>
        </member>
        <member name="T:Serein.Library.Api.IFlowTrigger`1">
            <summary>
            触发器接口
            </summary>
            <typeparam name="TSignal"></typeparam>
        </member>
        <member name="M:Serein.Library.Api.IFlowTrigger`1.WaitTriggerWithTimeoutAsync``1(`0,System.TimeSpan)">
            <summary>
            等待信号触发并指定超时时间
            </summary>
            <typeparam name="TResult"></typeparam>
            <param name="signal"></param>
            <param name="outTime"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowTrigger`1.WaitTriggerAsync``1(`0)">
            <summary>
            等待信号触发
            </summary>
            <typeparam name="TResult">预期的返回值类型</typeparam>
            <param name="signal"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowTrigger`1.InvokeTriggerAsync``1(`0,``0)">
            <summary>
            调用触发器
            </summary>
            <typeparam name="TResult">预期的返回值类型</typeparam>
            <param name="signal">信号</param>
            <param name="value">返回值</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IFlowTrigger`1.CancelAllTrigger">
            <summary>
            取消所有触发器
            </summary>
        </member>
        <member name="T:Serein.Library.Api.INodeContainer">
            <summary>
            约束具有容器功能的节点应该有什么方法
            </summary>
        </member>
        <member name="M:Serein.Library.Api.INodeContainer.PlaceNode(Serein.Library.NodeModelBase)">
            <summary>
            放置一个节点
            </summary>
            <param name="nodeModel"></param>
        </member>
        <member name="M:Serein.Library.Api.INodeContainer.TakeOutNode(Serein.Library.NodeModelBase)">
            <summary>
            取出一个节点
            </summary>
            <param name="nodeModel"></param>
        </member>
        <member name="M:Serein.Library.Api.INodeContainer.TakeOutAll">
            <summary>
            取出所有节点（用于删除容器）
            </summary>
        </member>
        <member name="T:Serein.Library.Api.IScriptFlowApi">
            <summary>
            脚本代码中关于流程运行的API
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IScriptFlowApi.Env">
            <summary>
            当前流程
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IScriptFlowApi.NodeModel">
            <summary>
            对应的节点
            </summary>
        </member>
        <member name="P:Serein.Library.Api.IScriptFlowApi.Context">
            <summary>
            动态流程上下文
            </summary>
        </member>
        <member name="M:Serein.Library.Api.IScriptFlowApi.GetArgData(System.Int32)">
            <summary>
            根据索引从入参数据获取数据 
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IScriptFlowApi.GetGlobalData(System.String)">
            <summary>
            获取全局数据
            </summary>
            <param name="keyName"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IScriptFlowApi.GetFlowData">
            <summary>
            获取流程当前传递的数据
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.IScriptFlowApi.CallNode(System.String)">
            <summary>
            立即调用某个节点并获取其返回值
            </summary>
            <param name="nodeGuid"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Api.ISereinIOC">
            <summary>
            <para>单例模式IOC容器，内部维护了一个实例字典，默认使用类型的FullName作为Key，如果以“接口-实现类”的方式注册，那么将使用接口类型的FullName作为Key。</para>
            <para>当某个类型注册绑定成功后，将不会因为其它地方尝试注册相同类型的行为导致类型被重新创建。</para>
            </summary>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Reset">
            <summary>
            慎用，重置IOC容器，除非再次注册绑定，否则将导致不能创建注入依赖类的临时对象。
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Register(System.Type,System.Object[])">
            <summary>
            注册实例，如果确定了params，那么将使用params入参构建实例对象。
            </summary>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Register``1(System.Object[])">
            <summary>
            通过泛型的方式注册实例，如果确定了params，那么将使用params入参构建实例对象。
            </summary>
            <typeparam name="T"></typeparam>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Register``2(System.Object[])">
            <summary>
            注册接口的实例
            </summary>
            <typeparam name="TService">接口类型</typeparam>
            <typeparam name="TImplementation">实例类型</typeparam>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Get(System.Type)">
            <summary>
            获取类型的实例。如果需要获取的类型以“接口-实现类”的方式注册，请使用接口的类型。
            </summary>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Get``1">
            <summary>
            获取类型的实例。如果需要获取的类型以“接口-实现类”的方式注册，请使用接口的类型。
            </summary>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Get``1(System.String)">
            <summary>
            <para>获取指定名称的实例。</para>
            <para>正常情况下应该使用 Get(Type type) /  T Get&lt;T&gt;() 进行获取，但如果需要的实例是以CustomRegisterInstance()进行的登记，则需要通过这种方法进行获取。</para>
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key">登记实例时使用的Key</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.CustomRegisterInstance(System.String,System.Object,System.Boolean)">
            <summary>
            指定一个Key登记一个实例。如果实例中需要注入的依赖项，需要将needInjectProperty设置为true。
            </summary>
            <param name="key">注入名称</param>
            <param name="instance">实例对象</param>
            <param name="needInjectProperty">是否需要注入依赖项</param>
            <returns>是否注册成功</returns>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Instantiate(System.Type)">
            <summary>
            <para>创建实例并注入依赖项，不会注册到IOC容器中。</para>
            <para>使用场景：例如 View 的构造函数中需要创建 ViewModel，而 ViewModel 存在注册过的依赖项，可以通过该接口进行创建</para>
            <para></para>
            </summary>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Instantiate``1">
            <summary>
            <para>创建实例并注入依赖项，不会注册到IOC容器中。</para>
            <para>使用场景：例如 View 的构造函数中需要创建 ViewModel，而 ViewModel 存在注册过的依赖项，可以通过该接口进行创建</para>
            <para></para>
            </summary>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Build">
            <summary>
            通过已注册的类型，生成依赖关系，然后依次实例化并注入依赖项，最后登记到容器中。
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Api.ISereinIOC.Run``1(System.Action{``0})">
            <summary>
            从容器中获取某个类型的实例进行运行
            </summary>
            <typeparam name="T"></typeparam>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.MoveNodeData">
            <summary>
            拖拽创建节点使用的数据
            </summary>
        </member>
        <member name="T:Serein.Library.ConnectionArgSourceType">
            <summary>
            节点对应方法的入参来源
            </summary>
        </member>
        <member name="F:Serein.Library.ConnectionArgSourceType.GetPreviousNodeData">
            <summary>
            （连接自身）从上一节点获取数据
            </summary>
        </member>
        <member name="F:Serein.Library.ConnectionArgSourceType.GetOtherNodeData">
            <summary>
            从指定节点获取数据
            </summary>
        </member>
        <member name="F:Serein.Library.ConnectionArgSourceType.GetOtherNodeDataOfInvoke">
            <summary>
            立刻执行某个节点获取其数据
            </summary>
        </member>
        <member name="T:Serein.Library.ConnectionInvokeType">
            <summary>
            表示了两个节点之间的连接关系,同时表示节点运行完成后，所会执行的下一个节点类型。
            </summary>
        </member>
        <member name="F:Serein.Library.ConnectionInvokeType.None">
            <summary>
            将不会继续执行
            </summary>
        </member>
        <member name="F:Serein.Library.ConnectionInvokeType.Upstream">
            <summary>
            上游分支（执行当前节点前会执行一次上游分支），默认执行。
            </summary>
        </member>
        <member name="F:Serein.Library.ConnectionInvokeType.IsSucceed">
            <summary>
            真分支（表示当前节点顺利完成）
            </summary>
        </member>
        <member name="F:Serein.Library.ConnectionInvokeType.IsFail">
            <summary>
            假分支（一般用于条件控件，条件为假时才会触发该类型的分支）
            </summary>
        </member>
        <member name="F:Serein.Library.ConnectionInvokeType.IsError">
            <summary>
            异常发生分支（当前节点对应的方法执行时出现非预期的异常）
            </summary>
        </member>
        <member name="T:Serein.Library.FlipflopStateType">
            <summary>
            触发器状态
            </summary>
        </member>
        <member name="F:Serein.Library.FlipflopStateType.Succeed">
            <summary>
            成功（方法成功执行）
            </summary>
        </member>
        <member name="F:Serein.Library.FlipflopStateType.Fail">
            <summary>
            失败（方法没有成功执行，不过执行时没有发生非预期的错误）
            </summary>
        </member>
        <member name="F:Serein.Library.FlipflopStateType.Error">
            <summary>
            异常（节点没有成功执行，执行时发生非预期的错误）
            </summary>
        </member>
        <member name="F:Serein.Library.FlipflopStateType.Cancel">
            <summary>
            取消（将不会执行触发器的后继节点）
            </summary>
        </member>
        <member name="T:Serein.Library.InfoClass">
            <summary>
            信息输出等级
            </summary>
        </member>
        <member name="F:Serein.Library.InfoClass.Trivial">
            <summary>
            琐碎的
            </summary>
        </member>
        <member name="F:Serein.Library.InfoClass.General">
            <summary>
            一般的
            </summary>
        </member>
        <member name="F:Serein.Library.InfoClass.Important">
            <summary>
            重要的
            </summary>
        </member>
        <member name="T:Serein.Library.InfoType">
            <summary>
            信息类别
            </summary>
        </member>
        <member name="F:Serein.Library.InfoType.INFO">
            <summary>
            普通信息
            </summary>
        </member>
        <member name="F:Serein.Library.InfoType.WARN">
            <summary>
            错误信息（但不影响运行）
            </summary>
        </member>
        <member name="F:Serein.Library.InfoType.ERROR">
            <summary>
            异常信息（影响了运行）
            </summary>
        </member>
        <member name="T:Serein.Library.JunctionOfConnectionType">
            <summary>
            连接的控制点类型枚举
            </summary>
        </member>
        <member name="F:Serein.Library.JunctionOfConnectionType.None">
            <summary>
            没有关系，用于处理非预期连接的情况需要的返回值
            </summary>
        </member>
        <member name="F:Serein.Library.JunctionOfConnectionType.Invoke">
            <summary>
            表示方法执行顺序关系
            </summary>
        </member>
        <member name="F:Serein.Library.JunctionOfConnectionType.Arg">
            <summary>
            表示参数获取来源关系
            </summary>
        </member>
        <member name="T:Serein.Library.JunctionType">
            <summary>
            控制点类型
            </summary>
        </member>
        <member name="F:Serein.Library.JunctionType.Execute">
            <summary>
            当前执行
            </summary>
        </member>
        <member name="F:Serein.Library.JunctionType.ArgData">
            <summary>
            入参
            </summary>
        </member>
        <member name="F:Serein.Library.JunctionType.ReturnData">
            <summary>
            返回值
            </summary>
        </member>
        <member name="F:Serein.Library.JunctionType.NextStep">
            <summary>
            下一步要执行的节点
            </summary>
        </member>
        <member name="T:Serein.Library.NodeType">
            <summary>
            用来判断该方法属于什么节点，使运行环境决定方法的运行逻辑
            </summary>
        </member>
        <member name="F:Serein.Library.NodeType.Init">
            <summary>
            初始化，流程启动时执行（不生成节点）
            <para>可以异步等待</para>
            </summary>
        </member>
        <member name="F:Serein.Library.NodeType.Loading">
            <summary>
            开始载入，流程启动时执行（不生成节点）
            <para>可以异步等待</para>
            </summary>
        </member>
        <member name="F:Serein.Library.NodeType.Exit">
            <summary>
            结束，流程结束时执行（不生成节点）
            <para>可以异步等待</para>
            </summary>
        </member>
        <member name="F:Serein.Library.NodeType.Flipflop">
            <summary>
            <para>触发器节点，必须为标记在可异步等待的方法，建议与继承了 FlowTriggerk&lt;TEnum&gt; 的实例对象搭配使用</para>
            <para>方法返回值必须为Task&lt;IFlipflopContext&lt;TResult&gt;&gt;，若为其它返回值，将不会创建节点。</para>
            <para>触发器根据在分支中的位置，分为两种类型：流程分支中的触发器、全局触发器</para>
            <para>一般的触发器：存在于分支某处，也可能是分支的终点，但一定不是流程的起点与分支的起点。</para>
            <para>一般的触发器行为：在当前分支中执行一次之后不再执行，一般用于等待某个操作的响应。</para>
            <para>一般的触发器入参：如果使用了 FlowTriggerk&lt;TEnum&gt; ，就会至少有一个枚举类型的参数，参数类型与 TEnum 泛型一致。</para>
            <para>全局触发器：没有上游分支、同时并非流程的起始节点。</para>
            <para>全局触发器行为：全局触发器会循环执行，直到流程结束。</para>
            <para>一般的触发器入参：如果使用了 FlowTriggerk&lt;TEnum&gt; ，就会至少有一个枚举类型的参数，参数类型与 TEnum 泛型一致。</para>
            </summary>
        </member>
        <member name="F:Serein.Library.NodeType.Action">
            <summary>
            <para>动作节点，可以异步等待</para>
            <para>如果不显式的设置入参数据（例如文本、@Get取值表达式），就会默认使用该节点的运行时上一个节点的数据。</para>
            <para>假如上一节点是某个对象，但入参需要的是对象中某个属性/字段，则建议使用取值表达式、表达式节点获取所需要的数据。</para>
            <para>关于@Get取值表达式的使用方法：</para>
             <para>public class UserInfo                                                         </para>
             <para>{                                                                             </para>
             <para>    public string Name; // 取值表达式：@Get .Name                       </para>
             <para>    public string[] PhoneNums; // 获取第1项的取值表达式：@Get .PhoneNums[0]   </para>
             <para> }                                                                            </para>
            <para>取值表达式可以符合直觉的如此获取实例成员：@Get .Data.Array[2].Data......</para>
            <para>格式说明：@Get大小写不敏感，然后空一格，需要标记“.”，然后才是获取成员名称（成员名称大小写敏感）。</para>
            </summary>
        </member>
        <member name="T:Serein.Library.NodeControlType">
            <summary>
            生成的节点控件
            </summary>
        </member>
        <member name="F:Serein.Library.NodeControlType.None">
            <summary>
            预料之外的情况
            </summary>
        </member>
        <member name="F:Serein.Library.NodeControlType.Action">
            <summary>
            动作节点
            </summary>
        </member>
        <member name="F:Serein.Library.NodeControlType.Flipflop">
            <summary>
            触发器节点
            </summary>
        </member>
        <member name="F:Serein.Library.NodeControlType.ExpOp">
            <summary>
            表达式操作节点
            </summary>
        </member>
        <member name="F:Serein.Library.NodeControlType.ExpCondition">
            <summary>
            表达式操作节点
            </summary>
        </member>
        <member name="F:Serein.Library.NodeControlType.ConditionRegion">
            <summary>
            条件节点区域
            </summary>
        </member>
        <member name="F:Serein.Library.NodeControlType.GlobalData">
            <summary>
            全局数据
            </summary>
        </member>
        <member name="F:Serein.Library.NodeControlType.Script">
            <summary>
            脚本节点
            </summary>
        </member>
        <member name="T:Serein.Library.RunState">
            <summary>
            流程运行状态
            </summary>
        </member>
        <member name="F:Serein.Library.RunState.NoStart">
            <summary>
            初始化值，等待开始。只有初始化时才会存在该值，后续每次重新开始都是从 Completion 变成 Running）
            </summary>
        </member>
        <member name="F:Serein.Library.RunState.Running">
            <summary>
            正在运行
            </summary>
        </member>
        <member name="F:Serein.Library.RunState.Completion">
            <summary>
            运行完成
            </summary>
        </member>
        <member name="T:Serein.Library.SereinExtension">
            <summary>
            拓展方法
            </summary>
        </member>
        <member name="M:Serein.Library.SereinExtension.ToTypeOfString(System.String)">
            <summary>
            字面量转为对应类型
            </summary>
            <param name="valueStr"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.SereinExtension.ToConnectyionType(Serein.Library.JunctionType)">
            <summary>
            判断连接类型
            </summary>
            <param name="start"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.SereinExtension.IsCanConnection(Serein.Library.JunctionType,Serein.Library.JunctionType)">
            <summary>
            判断是否运行连接
            </summary>
            <param name="start"></param>
            <param name="end"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.FlipflopException">
            <summary>
            触发器异常
            </summary>
        </member>
        <member name="F:Serein.Library.FlipflopException.CancelClass.CancelBranch">
            <summary>
            取消触发器当前所在分支的继续执行
            </summary>
        </member>
        <member name="F:Serein.Library.FlipflopException.CancelClass.CancelFlow">
            <summary>
            取消整个触发器流程的再次执行（用于停止全局触发器）
            </summary>
        </member>
        <member name="P:Serein.Library.FlipflopException.IsCancel">
            <summary>
            是否已取消
            </summary>
        </member>
        <member name="P:Serein.Library.FlipflopException.Type">
            <summary>
            取消类型
            </summary>
        </member>
        <member name="T:Serein.Library.DelegateDetails">
            <summary>
            Emit创建的委托描述，用于WebApi、WebSocket、NodeFlow动态调用方法的场景。
            一般情况下你无须内部细节，只需要调用 Invoke() 方法即可。
            </summary>
        </member>
        <member name="M:Serein.Library.DelegateDetails.#ctor(System.Reflection.MethodInfo)">
            <summary>
            根据方法信息构建Emit委托
            </summary>
            <param name="methodInfo"></param>
        </member>
        <member name="P:Serein.Library.DelegateDetails.EmitMethodInfo">
            <summary>
            该Emit委托的相应信息
            </summary>
        </member>
        <member name="M:Serein.Library.DelegateDetails.InvokeAsync(System.Object,System.Object[])">
            <summary>
            <para>使用的实例必须能够正确调用该委托，传入的参数也必须符合方法入参信息。</para>
             </summary>
            <param name="instance">拥有符合委托签名的方法信息的实例</param>
            <param name="args">如果方法没有入参，也需要传入一个空数组</param>
            <returns>void方法自动返回null</returns>
        </member>
        <member name="T:Serein.Library.FlowNode.JunctionModel">
            <summary>
            依附于节点的连接点
            </summary>
        </member>
        <member name="P:Serein.Library.FlowNode.JunctionModel.Guid">
            <summary>
            用于标识连接点
            </summary>
        </member>
        <member name="P:Serein.Library.FlowNode.JunctionModel.JunctionType">
            <summary>
            标识连接点的类型
            </summary>
        </member>
        <member name="P:Serein.Library.FlowNode.JunctionModel.NodeModel">
            <summary>
            连接点依附的节点
            </summary>
        </member>
        <member name="T:Serein.Library.MethodDetails">
            <summary>
            每个节点有独自的MethodDetails实例
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._nodeModel">
            <summary>
            对应的节点
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._assemblyName">
            <summary>
            对应的程序集
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._isProtectionParameter">
            <summary>
            是否保护参数
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._actingInstanceType">
            <summary>
            调用节点方法时需要的实例（多个相同的节点将拥有相同的类型）
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._actingInstance">
            <summary>
            作用实例（多个相同的节点将会共享同一个实例）
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._methodName">
            <summary>
            方法名称
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._methodDynamicType">
            <summary>
            节点类型
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._methodLockName">
            <summary>
            锁名称（暂未实现）
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._methodAnotherName">
            <summary>
            方法别名
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._parameterDetailss">
            <summary>
            参数描述
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._paramsArgIndex">
            <summary>
            <para>描述该方法是否存在可选参数</para>
            <para>-1表示不存在</para>
            <para>0表示第一个参数是可选参数</para>
            </summary>
        </member>
        <member name="F:Serein.Library.MethodDetails._returnType">
            <summary>
            出参类型
            </summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.HasParamsArg">
            <summary>
            是否存在可变参数（-1表示不存在）
            </summary>
        </member>
        <member name="M:Serein.Library.MethodDetails.AddParamsArg(System.Int32)">
            <summary>
            新增可变参数
            </summary>
            <param name="index"></param>
        </member>
        <member name="M:Serein.Library.MethodDetails.RemoveParamsArg(System.Int32)">
            <summary>
            移除可变参数
            </summary>
            <param name="index"></param>
        </member>
        <member name="M:Serein.Library.MethodDetails.UpdateParamIndex(Serein.Library.ParameterDetails[]@)">
            <summary>
            更新参数的索引
            </summary>
            <param name="parameterDetails"></param>
        </member>
        <member name="M:Serein.Library.MethodDetails.#ctor">
            <summary>
            不包含方法信息的基础节点（后续可能要改为DLL引入基础节点）
            </summary>
        </member>
        <member name="M:Serein.Library.MethodDetails.#ctor(Serein.Library.NodeModelBase)">
            <summary>
            生成元数据
            </summary>
            <param name="nodeModel">标识属于哪个节点</param>
        </member>
        <member name="M:Serein.Library.MethodDetails.#ctor(Serein.Library.MethodDetailsInfo)">
            <summary>
            从方法信息中读取
            </summary>
            <param name="Info"></param>
        </member>
        <member name="M:Serein.Library.MethodDetails.ToInfo">
            <summary>
            转为信息
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.MethodDetails.CloneOfNode(Serein.Library.NodeModelBase)">
            <summary>
            从DLL拖动出来时，从元数据拷贝新的实例，作为属于节点独享的方法描述
            </summary>
            <returns></returns>
        </member>
        <member name="P:Serein.Library.MethodDetails.NodeModel">
            <summary>
            对应的节点
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.AssemblyName">
            <summary>
            对应的程序集
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.IsProtectionParameter">
            <summary>
            是否保护参数
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.ActingInstanceType">
            <summary>
            调用节点方法时需要的实例（多个相同的节点将拥有相同的类型）
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.ActingInstance">
            <summary>
            作用实例（多个相同的节点将会共享同一个实例）
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.MethodName">
            <summary>
            方法名称
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.MethodDynamicType">
            <summary>
            节点类型
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.MethodLockName">
            <summary>
            锁名称（暂未实现）
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.MethodAnotherName">
            <summary>
            方法别名
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.ParameterDetailss">
            <summary>
            参数描述
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.ParamsArgIndex">
            <summary>
            <para>描述该方法是否存在可选参数</para>
            <para>-1表示不存在</para>
            <para>0表示第一个参数是可选参数</para>
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.MethodDetails.ReturnType">
            <summary>
            出参类型
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="E:Serein.Library.MethodDetails.PropertyChanged">
            <summary>
            略
            <para>此事件为自动生成</para>
            </summary>
        </member>
        <member name="T:Serein.Library.MethodDetailsInfo">
            <summary>
            方法描述信息
            </summary>
        </member>
        <member name="P:Serein.Library.MethodDetailsInfo.AssemblyName">
            <summary>
            属于哪个程序集
            </summary>
        </member>
        <member name="P:Serein.Library.MethodDetailsInfo.MethodName">
            <summary>
            方法名称
            </summary>
        </member>
        <member name="P:Serein.Library.MethodDetailsInfo.NodeType">
            <summary>
            节点类型
            </summary>
        </member>
        <member name="P:Serein.Library.MethodDetailsInfo.MethodAnotherName">
            <summary>
            方法说明
            </summary>
        </member>
        <member name="P:Serein.Library.MethodDetailsInfo.ParameterDetailsInfos">
            <summary>
            参数内容
            </summary>
        </member>
        <member name="P:Serein.Library.MethodDetailsInfo.IsParamsArgIndex">
            <summary>
            可选参数信息
            </summary>
        </member>
        <member name="P:Serein.Library.MethodDetailsInfo.ReturnTypeFullName">
            <summary>
            出参类型
            </summary>
        </member>
        <member name="T:Serein.Library.NodeDebugSetting">
            <summary>
            节点调试设置，用于中断节点的运行
            </summary>
        </member>
        <member name="M:Serein.Library.NodeDebugSetting.#ctor(Serein.Library.NodeModelBase)">
            <summary>
            创建属于某个节点的调试设置
            </summary>
            <param name="nodeModel"></param>
        </member>
        <member name="F:Serein.Library.NodeDebugSetting._nodeModel">
            <summary>
            对应的节点
            </summary>
        </member>
        <member name="F:Serein.Library.NodeDebugSetting._isEnable">
            <summary>
            是否使能
            </summary>
        </member>
        <member name="F:Serein.Library.NodeDebugSetting._isInterrupt">
            <summary>
             中断级别，暂时停止继续执行后继分支。
            </summary>
        </member>
        <member name="F:Serein.Library.NodeDebugSetting._cancelInterruptCallback">
            <summary>
            取消中断的回调函数
            </summary>
        </member>
        <member name="F:Serein.Library.NodeDebugSetting._getInterruptTask">
            <summary>
            中断Task（用来中断）
            </summary>
        </member>
        <member name="P:Serein.Library.NodeDebugSetting.NodeModel">
            <summary>
            对应的节点
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.NodeDebugSetting.IsEnable">
            <summary>
            是否使能
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.NodeDebugSetting.IsInterrupt">
            <summary>
             中断级别，暂时停止继续执行后继分支。
            </summary>
        </member>
        <member name="P:Serein.Library.NodeDebugSetting.CancelInterruptCallback">
            <summary>
            取消中断的回调函数
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.NodeDebugSetting.GetInterruptTask">
            <summary>
            中断Task（用来中断）
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="E:Serein.Library.NodeDebugSetting.PropertyChanged">
            <summary>
            略
            <para>此事件为自动生成</para>
            </summary>
        </member>
        <member name="T:Serein.Library.NodeModelBase">
            <summary>
            节点基类（数据）
            </summary>
            <summary>
            节点基类（数据）：条件控件，动作控件，条件区域，动作区域
            </summary>
        </member>
        <member name="F:Serein.Library.NodeModelBase._env">
            <summary>
            节点运行环境
            </summary>
        </member>
        <member name="F:Serein.Library.NodeModelBase._guid">
            <summary>
            标识节点对象全局唯一
            </summary>
        </member>
        <member name="F:Serein.Library.NodeModelBase._controlType">
            <summary>
            描述节点对应的控件类型
            </summary>
        </member>
        <member name="F:Serein.Library.NodeModelBase._position">
            <summary>
            在画布中的位置
            </summary>
        </member>
        <member name="F:Serein.Library.NodeModelBase._displayName">
            <summary>
            显示名称
            </summary>
        </member>
        <member name="F:Serein.Library.NodeModelBase._isStart">
            <summary>
            是否为起点控件
            </summary>
        </member>
        <member name="F:Serein.Library.NodeModelBase._debugSetting">
            <summary>
            附加的调试功能
            </summary>
        </member>
        <member name="F:Serein.Library.NodeModelBase._methodDetails">
            <summary>
            方法描述。不包含Method与委托，需要通过MethodName从环境中获取委托进行调用。
            </summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.IsBase">
            <summary>
            是否为基础节点
            </summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.MaxChildrenCount">
            <summary>
            可以放置多少个节点
            </summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.PreviousNodes">
            <summary>
            不同分支的父节点（流程调用）
            </summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.SuccessorNodes">
            <summary>
            不同分支的子节点（流程调用）
            </summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.ParentNode">
            <summary>
            该节点的父级节点（容器）
            </summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.ChildrenNode">
            <summary>
            该节点的子项节点（容器）
            </summary>
        </member>
        <member name="M:Serein.Library.NodeModelBase.OnCreating">
            <summary>
            实体节点创建完成后调用的方法，调用时间早于 LoadInfo() 方法
            </summary>
        </member>
        <member name="M:Serein.Library.NodeModelBase.SaveCustomData(Serein.Library.NodeInfo)">
            <summary>
            保存自定义信息
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.NodeModelBase.LoadCustomData(Serein.Library.NodeInfo)">
            <summary>
            加载自定义数据
            </summary>
            <param name="nodeInfo"></param>
        </member>
        <member name="M:Serein.Library.NodeModelBase.Remove">
            <summary>
            移除该节点
            </summary>
        </member>
        <member name="M:Serein.Library.NodeModelBase.RemoveFromEnv">
            <summary>
            移除该节点
            </summary>
        </member>
        <member name="M:Serein.Library.NodeModelBase.SaveParameterInfo">
            <summary>
            输出方法参数信息
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.NodeModelBase.ToInfo">
            <summary>
            导出为节点信息
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.NodeModelBase.LoadInfo(Serein.Library.NodeInfo)">
            <summary>
            从节点信息加载节点
            </summary>
            <param name="nodeInfo"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.NodeModelBase.CancelInterrupt">
            <summary>
            不再中断
            </summary>
        </member>
        <member name="M:Serein.Library.NodeModelBase.IsBradk(Serein.Library.Api.IDynamicContext,System.Threading.CancellationTokenSource)">
            <summary>
            是否应该退出执行
            </summary>
            <param name="context"></param>
            <param name="flowCts"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.NodeModelBase.StartFlowAsync(Serein.Library.Api.IDynamicContext)">
            <summary>
            开始执行
            </summary>
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.NodeModelBase.ExecutingAsync(Serein.Library.Api.IDynamicContext)">
            <summary>
            执行节点对应的方法
            </summary>
            <param name="context">流程上下文</param>
            <returns>节点传回数据对象</returns>
        </member>
        <member name="M:Serein.Library.NodeModelBase.GetParametersAsync(Serein.Library.Api.IDynamicContext,Serein.Library.NodeModelBase)">
            <summary>
            获取对应的参数数组
            </summary>
        </member>
        <member name="M:Serein.Library.NodeModelBase.RefreshFlowDataAndExpInterrupt(Serein.Library.Api.IDynamicContext,Serein.Library.NodeModelBase,System.Object)">
            <summary>
            更新节点数据，并检查监视表达式是否生效
            </summary>
            <param name="context">上下文</param>
            <param name="nodeModel">节点Moel</param>
            <param name="newData">新的数据</param>
            <returns></returns>
        </member>
        <member name="P:Serein.Library.NodeModelBase.Env">
            <summary>
            节点运行环境
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.Guid">
            <summary>
            标识节点对象全局唯一
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.ControlType">
            <summary>
            描述节点对应的控件类型
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.Position">
            <summary>
            在画布中的位置
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.DisplayName">
            <summary>
            显示名称
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.IsStart">
            <summary>
            是否为起点控件
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.DebugSetting">
            <summary>
            附加的调试功能
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.NodeModelBase.MethodDetails">
            <summary>
            方法描述。不包含Method与委托，需要通过MethodName从环境中获取委托进行调用。
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="E:Serein.Library.NodeModelBase.PropertyChanged">
            <summary>
            略
            <para>此事件为自动生成</para>
            </summary>
        </member>
        <member name="T:Serein.Library.ParameterDetails">
            <summary>
            节点入参参数详情
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._nodeModel">
            <summary>
            所在的节点
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._index">
            <summary>
            参数索引
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._isExplicitData">
            <summary>
            <para>是否为显式参数（固定值/表达式）</para>
            <para>如果为 true ，则使用UI输入的文本值作为入参数据（过程中会尽可能转为类型需要的数据）。</para>
            <para>如果为 false ，则根据 ArgDataSourceType 调用相应节点的GetFlowData()方法，获取返回的数据作为入参数据。</para>
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._explicitType">
            <summary>
            方法入参若无相关转换器特性标注，则无需关注该变量。该变量用于需要用到枚举BinValue转换器时，指示相应的入参变量需要转为的类型。
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._explicitTypeName">
            <summary>
            目前存在三种状态：Select/Bool/Value
            <para>Select : 枚举值/可选值</para>
            <para>Bool   : 布尔类型</para>
            <para>Value  ：除以上类型之外的任意参数</para>
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._argDataSourceType">
            <summary>
            入参数据来源。默认使用上一节点作为入参数据。
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._argDataSourceNodeGuid">
            <summary>
            当 ArgDataSourceType 不为 GetPreviousNodeData 时（从运行时上一节点获取数据）。
            则通过当前上下文，获取该Guid对应的数据作为预处理的入参参数。
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._dataType">
            <summary>
            方法入参需要的类型。
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._name">
            <summary>
            方法入参参数名称
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._dataValue">
            <summary>
            自定义的方法入参数据
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._items">
            <summary>
            只有当ExplicitTypeName 为 Select 时，才会需要该成员。
            </summary>
        </member>
        <member name="F:Serein.Library.ParameterDetails._isParams">
            <summary>
            指示该属性是可变参数的其中一员（可变参数为数组类型）
            </summary>
        </member>
        <member name="M:Serein.Library.ParameterDetails.#ctor">
            <summary>
            用于创建元数据
            </summary>
        </member>
        <member name="M:Serein.Library.ParameterDetails.#ctor(Serein.Library.NodeModelBase)">
            <summary>
            为节点实例化新的入参描述
            </summary>
        </member>
        <member name="M:Serein.Library.ParameterDetails.#ctor(Serein.Library.ParameterDetailsInfo)">
            <summary>
            通过参数信息加载实体，用于加载项目文件、远程连接的场景
            </summary>
            <param name="info">参数信息</param>
        </member>
        <member name="M:Serein.Library.ParameterDetails.ToInfo">
            <summary>
            转为描述
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.ParameterDetails.CloneOfModel(Serein.Library.NodeModelBase)">
            <summary>
            为某个节点从元数据中拷贝方法描述的入参描述
            </summary>
            <param name="nodeModel">对应的节点</param>
            <returns></returns>
        </member>
        <member name="P:Serein.Library.ParameterDetails.NodeModel">
            <summary>
            所在的节点
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.Index">
            <summary>
            参数索引
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.IsExplicitData">
            <summary>
            <para>是否为显式参数（固定值/表达式）</para>
            <para>如果为 true ，则使用UI输入的文本值作为入参数据（过程中会尽可能转为类型需要的数据）。</para>
            <para>如果为 false ，则根据 ArgDataSourceType 调用相应节点的GetFlowData()方法，获取返回的数据作为入参数据。</para>
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.ExplicitType">
            <summary>
            方法入参若无相关转换器特性标注，则无需关注该变量。该变量用于需要用到枚举BinValue转换器时，指示相应的入参变量需要转为的类型。
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.ExplicitTypeName">
            <summary>
            目前存在三种状态：Select/Bool/Value
            <para>Select : 枚举值/可选值</para>
            <para>Bool   : 布尔类型</para>
            <para>Value  ：除以上类型之外的任意参数</para>
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.ArgDataSourceType">
            <summary>
            入参数据来源。默认使用上一节点作为入参数据。
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.ArgDataSourceNodeGuid">
            <summary>
            当 ArgDataSourceType 不为 GetPreviousNodeData 时（从运行时上一节点获取数据）。
            则通过当前上下文，获取该Guid对应的数据作为预处理的入参参数。
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.DataType">
            <summary>
            方法入参需要的类型。
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.Name">
            <summary>
            方法入参参数名称
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.DataValue">
            <summary>
            自定义的方法入参数据
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.Items">
            <summary>
            只有当ExplicitTypeName 为 Select 时，才会需要该成员。
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.ParameterDetails.IsParams">
            <summary>
            指示该属性是可变参数的其中一员（可变参数为数组类型）
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="E:Serein.Library.ParameterDetails.PropertyChanged">
            <summary>
            略
            <para>此事件为自动生成</para>
            </summary>
        </member>
        <member name="T:Serein.Library.ParameterDetailsInfo">
            <summary>
            方法入参描述（远程用）
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterDetailsInfo.Index">
            <summary>
            参数索引
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterDetailsInfo.IsParams">
            <summary>
            是否为可变参数
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterDetailsInfo.DataTypeFullName">
            <summary>
            方法需要的类型
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterDetailsInfo.Name">
            <summary>
            方法入参参数名称
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterDetailsInfo.ExplicitTypeFullName">
            <summary>
            显式类型
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterDetailsInfo.ExplicitTypeName">
            <summary>
            目前存在三种状态：Select/Bool/Value
            <para>Select : 枚举值</para>
            <para>Bool   : 布尔类型</para>
            <para>Value  ： 除以上类型之外的任意参数</para>
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterDetailsInfo.Items">
            <summary>
            参数选择器
            </summary>
        </member>
        <member name="T:Serein.Library.FlowEnvInfo">
            <summary>
            环境信息
            </summary>
        </member>
        <member name="P:Serein.Library.FlowEnvInfo.LibraryMds">
            <summary>
            环境方法信息
            </summary>
        </member>
        <member name="P:Serein.Library.FlowEnvInfo.Project">
            <summary>
            项目信息
            </summary>
        </member>
        <member name="T:Serein.Library.LibraryMds">
            <summary>
            程序集相关的方法信息
            </summary>
        </member>
        <member name="P:Serein.Library.LibraryMds.AssemblyName">
            <summary>
            程序集名称
            </summary>
        </member>
        <member name="P:Serein.Library.LibraryMds.Mds">
            <summary>
            相关的方法详情
            </summary>
        </member>
        <member name="T:Serein.Library.SereinProjectData">
            <summary>
            项目保存文件
            </summary>
        </member>
        <member name="P:Serein.Library.SereinProjectData.Basic">
            <summary>
            基础
            </summary>
        </member>
        <member name="P:Serein.Library.SereinProjectData.Librarys">
            <summary>
            依赖的DLL
            </summary>
        </member>
        <member name="P:Serein.Library.SereinProjectData.StartNode">
            <summary>
            起始节点GUID
            </summary>
        </member>
        <member name="P:Serein.Library.SereinProjectData.Nodes">
            <summary>
            节点集合
            </summary>
        </member>
        <member name="T:Serein.Library.Basic">
            <summary>
            基础，项目文件相关
            </summary>
        </member>
        <member name="P:Serein.Library.Basic.Canvas">
            <summary>
            画布
            </summary>
        </member>
        <member name="P:Serein.Library.Basic.Versions">
            <summary>
            版本
            </summary>
        </member>
        <member name="T:Serein.Library.FlowCanvas">
            <summary>
            画布信息，项目文件相关
            </summary>
        </member>
        <member name="P:Serein.Library.FlowCanvas.Width">
            <summary>
            宽度
            </summary>
        </member>
        <member name="P:Serein.Library.FlowCanvas.Height">
            <summary>
            高度
            </summary>
        </member>
        <member name="P:Serein.Library.FlowCanvas.ViewX">
            <summary>
            预览位置X
            </summary>
        </member>
        <member name="P:Serein.Library.FlowCanvas.ViewY">
            <summary>
            预览位置Y
            </summary>
        </member>
        <member name="P:Serein.Library.FlowCanvas.ScaleX">
            <summary>
            缩放比例X
            </summary>
        </member>
        <member name="P:Serein.Library.FlowCanvas.ScaleY">
            <summary>
            缩放比例Y
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:Serein.Library.NodeLibraryInfo" -->
        <member name="P:Serein.Library.NodeLibraryInfo.FileName">
            <summary>
            文件名
            </summary>
        </member>
        <member name="P:Serein.Library.NodeLibraryInfo.FilePath">
            <summary>
            路径
            </summary>
        </member>
        <member name="P:Serein.Library.NodeLibraryInfo.AssemblyName">
            <summary>
            所属的程序集名称
            </summary>
        </member>
        <member name="T:Serein.Library.NodeInfo">
            <summary>
            节点信息，项目文件相关
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.Guid">
            <summary>
            节点的GUID
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.AssemblyName">
            <summary>
            节点方法所属的程序集名称
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.MethodName">
            <summary>
            节点对应的名称
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.Label">
            <summary>
            显示标签
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.Type">
            <summary>
            类型
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.TrueNodes">
            <summary>
            真分支节点GUID
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.FalseNodes">
            <summary>
            假分支节点
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.UpstreamNodes">
            <summary>
            上游分支
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.ErrorNodes">
            <summary>
            异常分支
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.ParameterData">
            <summary>
            参数
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.ParentNodeGuid">
            <summary>
            父级节点Guid
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.ChildNodeGuids">
            <summary>
            如果是区域控件，则会存在子项，这里记录的是子项的Guid。
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.Position">
            <summary>
            于画布中的位置
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.IsInterrupt">
            <summary>
            是否中断
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.IsEnable">
            <summary>
            是否使能
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.IsProtectionParameter">
            <summary>
            是否保护参数
            </summary>
        </member>
        <member name="P:Serein.Library.NodeInfo.CustomData">
            <summary>
            自定义数据
            </summary>
        </member>
        <member name="T:Serein.Library.ParameterData">
            <summary>
            参数信息，项目文件相关
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterData.State">
            <summary>
            参数类型，true时使用自定义的入参，false时由运行环境自动传参
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterData.SourceNodeGuid">
            <summary>
            参数来源节点
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterData.SourceType">
            <summary>
            来源类型
            </summary>
        </member>
        <member name="P:Serein.Library.ParameterData.Value">
            <summary>
            自定义入参
            </summary>
        </member>
        <member name="T:Serein.Library.PositionOfUI">
            <summary>
            节点于画布中的位置（通用类）
            </summary>
        </member>
        <member name="M:Serein.Library.PositionOfUI.#ctor(System.Double,System.Double)">
            <summary>
            构造一个坐标
            </summary>
        </member>
        <member name="F:Serein.Library.PositionOfUI._x">
            <summary>
            指示控件在画布的横向向方向上的位置
            </summary>
        </member>
        <member name="F:Serein.Library.PositionOfUI._y">
            <summary>
            指示控件在画布的纵向方向上的位置
            </summary>
        </member>
        <member name="P:Serein.Library.PositionOfUI.X">
            <summary>
            指示控件在画布的横向向方向上的位置
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="P:Serein.Library.PositionOfUI.Y">
            <summary>
            指示控件在画布的纵向方向上的位置
            <para> （此属性为自动生成）</para></summary>
        </member>
        <member name="E:Serein.Library.PositionOfUI.PropertyChanged">
            <summary>
            略
            <para>此事件为自动生成</para>
            </summary>
        </member>
        <member name="T:Serein.Library.Network.ApiHandleConfig">
            <summary>
            api请求处理模块
            </summary>
        </member>
        <member name="T:Serein.Library.Network.ApiHandleConfig.PostArgType">
            <summary>
            Post请求处理方法中，入参参数类型
            </summary>
        </member>
        <member name="F:Serein.Library.Network.ApiHandleConfig.PostArgType.None">
            <summary>
            不做处理
            </summary>
        </member>
        <member name="F:Serein.Library.Network.ApiHandleConfig.PostArgType.IsUrlData">
            <summary>
            使用Url参数
            </summary>
        </member>
        <member name="F:Serein.Library.Network.ApiHandleConfig.PostArgType.IsBobyData">
            <summary>
            使用整体的Boby参数
            </summary>
        </member>
        <member name="M:Serein.Library.Network.ApiHandleConfig.#ctor(System.Reflection.MethodInfo)">
            <summary>
            添加处理配置
            </summary>
            <param name="methodInfo"></param>
        </member>
        <member name="M:Serein.Library.Network.ApiHandleConfig.GetArgsOfGet(System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
            处理Get请求
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Network.ApiHandleConfig.HandleAsync(System.Object,System.Object[])">
            <summary>
            处理请求
            </summary>
            <param name="instance"></param>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.AutoSocketModuleAttribute">
            <summary>
            <para>标记该类是处理模板，需要获取WebSocketServer/WebSocketClient了实例后，使用(Server/Client).MsgHandleHelper.AddModule()进行添加。</para>
            <para>处理模板需要继承 ISocketHandleModule 接口，否则WebSocket接受到数据时，将无法进行调用相应的处理模板。</para> 
            <para>使用方式：</para>
            <para>[AutoSocketModule(ThemeKey = "theme", DataKey = "data")]</para>
            <para>public class PlcSocketService : ISocketHandleModule</para>
            <para>类中方法示例：void AddUser(string name,int age)</para>
            <para>Json示例：{ "theme":"AddUser", //【ThemeKey】 </para>
            <para>  "data": { // 【DataKey】  </para>              
            <para>    "name":"张三",         </para>
            <para>    "age":35,   } }       </para>
            <para>WebSocket中收到以上该Json时，通过ThemeKey获取到"AddUser"，然后找到AddUser()方法</para>
            <para>然后根据方法入参名称，从data对应的json数据中取出"name""age"对应的数据作为入参进行调用。AddUser("张三",35)</para>
            <para></para>
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.AutoSocketModuleAttribute.ThemeKey">
            <summary>
            业务标识
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.AutoSocketModuleAttribute.DataKey">
            <summary>
            数据标识
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.AutoSocketModuleAttribute.MsgIdKey">
            <summary>
            ID标识
            </summary>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.AutoSocketHandleAttribute">
            <summary>
            <para>作用：WebSocket中处理Json时，将通过Json中ThemeKey 对应的内容（ThemeValue）自动路由到相应方法进行处理，同时要求Data中必须存在对应入参。</para>
            <para>如果没有显式设置 ThemeValue，将默认使用方法名称作为ThemeValue。</para>
            <para>如果没有显式设置 IsReturnValue 标记为 false ，当方法顺利完成（没有抛出异常，且返回对象非null），会自动转为json文本发送回去</para>
            <para>如果没有显式设置 ArgNotNull 标记为 false ，当外部尝试调用时，若 Json Data 不包含响应的数据，将会被忽略此次调用</para>
            <para>如果返回类型为Task或Task&lt;TResult&gt;，将会自动等待异步完成并获取结果（无法处理Task&lt;Task&lt;TResult&gt;&gt;的情况）。</para>
            <para>如果返回了值类型，会自动装箱为引用对象。</para>
            <para>如果有方法执行过程中发送消息的需求，请在入参中声明以下类型的成员，调用时将传入发送消息的委托。</para>
            <para>Action&lt;string&gt; : 发送文本内容。</para>
            <para>Action&lt;object&gt; : 会自动将对象解析为Json字符串，发送文本内容。</para>
            <para>Action&lt;dynamic&gt; : 会自动将对象解析为Json字符串，发送文本内容。</para>
            <para>Func&lt;string,Task&gt; : 异步发送文本内容。</para>
            <para>Func&lt;object,Task&gt; : 会自动将对象解析为Json字符串，异步发送文本内容。</para>
            <para>Func&lt;dynamic,Task&gt; : 会自动将对象解析为Json字符串，异步发送文本内容。</para>
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.AutoSocketHandleAttribute.ThemeValue">
            <summary>
            描述Json业务字段，如果不设置，将默认使用方法名称。
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.AutoSocketHandleAttribute.IsReturnValue">
            <summary>
            <para>标记方法执行完成后是否需要将结果发送。</para>
            <para>注意以下返回值，返回的 json 中将不会新建 DataKey 字段：</para>
            <para>1.返回类型为 void </para>
            <para>2.返回类型为 Task </para>
            <para>2.返回类型为 Unit </para>
            <para>补充：如果返回类型是Task&lt;TResult&gt;</para>
            <para>会进行异步等待，当Task结束后，自动获取TResult进行发送（请避免Task&lt;Task&lt;TResult&gt;&gt;诸如此类的Task泛型嵌套）</para>
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.AutoSocketHandleAttribute.ArgNotNull">
            <summary>
            <para>表示该方法所有入参不能为空（所需的参数在请求Json的Data不存在）</para>
            <para>若有一个参数无法从data获取，则不会进行调用该方法</para>
            <para>如果设置该属性为 false ，但某些入参不能为空，而不希望在代码中进行检查，请为入参添加[NotNull]/[Needful]特性</para>
            </summary>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.UseDataAttribute">
            <summary>
            使用 DataKey 整体数据
            </summary>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.UseMsgIdAttribute">
            <summary>
            使用 MsgIdKey 整体数据
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.WebSocketHandleConfiguration.ThemeValue">
            <summary>
            主题
            </summary>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.HandleConfiguration">
            <summary>
            socket模块处理数据配置
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.HandleConfiguration.DelegateDetails">
            <summary>
            Emit委托
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.HandleConfiguration.OnExceptionTracking">
            <summary>
            未捕获的异常跟踪
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.HandleConfiguration.Instance">
            <summary>
            所使用的实例
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.HandleConfiguration.IsReturnValue">
            <summary>
            是否需要返回
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.HandleConfiguration.ArgNotNull">
            <summary>
            是否要求必须不为null
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.HandleConfiguration.UseData">
            <summary>
            是否使Data整体内容作为入参参数
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.HandleConfiguration.UseMsgId">
            <summary>
            是否使用消息ID作为入参参数
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.HandleConfiguration.ParameterName">
            <summary>
            参数名称
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.HandleConfiguration.ParameterType">
            <summary>
            参数类型
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.HandleConfiguration.IsCheckArgNotNull">
            <summary>
            是否检查变量为空
            </summary>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.Handle.NeedfulAttribute">
            <summary>
            表示参数可以为空(Net462不能使用NutNull的情况）
            </summary>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.Handle.MsgIdHelper">
            <summary>
            消息ID生成器
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.Handle.MsgIdHelper.NewId">
            <summary>
            获取新的ID
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.MsgIdHelper.GenerateId">
            <summary>
            生成消息ID
            </summary>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule">
            <summary>
            Json消息处理模块
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule.#ctor(Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModuleConfig)">
            <summary>
            Json消息处理模块
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule.moduleConfig">
            <summary>
            模块的处理配置
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule._myMsgIdHash">
            <summary>
            用来判断消息是否重复
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule.MyHandleConfigs">
            <summary>
            存储处理数据的配置
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule.AddHandleConfigs(Serein.Library.Network.WebSocketCommunication.WebSocketHandleConfiguration)">
            <summary>
            添加处理配置
            </summary>
            <param name="config">处理模块</param>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule.RemoveConfig(Serein.Library.Network.WebSocketCommunication.ISocketHandleModule)">
            <summary>
            移除某个处理模块
            </summary>
            <param name="socketControlBase"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule.UnloadConfig">
            <summary>
            卸载当前模块的所有配置
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule.HandleAsync(Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext)">
            <summary>
            处理JSON数据
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule.HandleAsync(Serein.Library.Network.WebSocketCommunication.HandleConfiguration,System.Object[])">
            <summary>
            调用
            </summary>
            <param name="config"></param>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModule.TryGetParameters(Serein.Library.Network.WebSocketCommunication.HandleConfiguration,Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext,System.Object[]@)">
            <summary>
            获取入参参数
            </summary>
            <param name="config">处理配置</param>
            <param name="context">处理上下文</param>
            <param name="args">返回的入参参数</param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModuleConfig">
            <summary>
            远程环境配置
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModuleConfig.MsgIdJsonKey">
            <summary>
            有关消息ID的 Json Key
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModuleConfig.ThemeJsonKey">
            <summary>
            有关消息主题的 Json Key
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModuleConfig.DataJsonKey">
            <summary>
            有关数据的 Json Key
            </summary>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext">
            <summary>
            消息处理上下文
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext.Handle">
            <summary>
            标记是否已经处理，如果是，则提前退出
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext.JsonObject">
            <summary>
            消息本体（JObject）
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext.MsgTheme">
            <summary>
            此次消息请求的主题
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext.MsgId">
            <summary>
            此次消息附带的ID
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext.MsgData">
            <summary>
            此次消息的数据
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext.SendAsync(System.String)">
            <summary>
            发送消息
            </summary>
            <param name="msg"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext.RepliedAsync(Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModuleConfig,Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext,System.Object)">
            <summary>
            返回消息
            </summary>
            <param name="moduleConfig"></param>
            <param name="context"></param>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgHandleHelper">
            <summary>
            适用于Json数据格式的WebSocket消息处理类
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgHandleHelper.MyHandleModuleDict">
            <summary>
            (Theme Name ,Data Name) - HandleModule
            </summary>
        </member>
        <member name="E:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgHandleHelper.OnExceptionTracking">
            <summary>
            异常跟踪
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgHandleHelper.AddMyHandleModule(Serein.Library.Network.WebSocketCommunication.Handle.WebSocketHandleModuleConfig)">
            <summary>
            添加消息处理与异常处理
            </summary>
            <param name="moduleConfig">模块配置</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgHandleHelper.RemoveModule(Serein.Library.Network.WebSocketCommunication.ISocketHandleModule)">
            <summary>
            移除某个模块的WebSocket消息处理
            </summary>
            <param name="socketControlBase"></param>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgHandleHelper.AddModule(Serein.Library.Network.WebSocketCommunication.ISocketHandleModule,System.Action{System.Exception,System.Action{System.Object}})">
            <summary>
            添加消息处理以及异常处理
            </summary>
            <param name="socketControlBase"></param>
            <param name="onExceptionTracking"></param>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgHandleHelper.Handle(Serein.Library.Network.WebSocketCommunication.Handle.WebSocketMsgContext)">
            <summary>
            异步处理消息
            </summary>
            <param name="context">此次请求的上下文</param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.MsgHandleUtil">
            <summary>
            消息处理工具
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.MsgHandleUtil.#ctor(System.Int32)">
            <summary>
            初始化优先容器
            </summary>
            <param name="capacity"></param>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.MsgHandleUtil.WaitMsgAsync">
            <summary>
            等待消息
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.MsgHandleUtil.WriteMsgAsync(System.String)">
            <summary>
            写入消息
            </summary>
            <param name="msg">消息内容</param>
            <returns>是否写入成功</returns>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.MsgHandleUtil.CloseChannel">
            <summary>
            尝试关闭通道，停止写入消息
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.SocketExtension.SendAsync(System.Net.WebSockets.WebSocket,System.String)">
            <summary>
            发送消息
            </summary>
            <param name="webSocket"></param>
            <param name="message"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.WebSocketClient">
            <summary>
            WebSocket客户端
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.WebSocketClient.#ctor">
            <summary>
            WebSocket客户端
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.WebSocketClient.MsgHandleHelper">
            <summary>
            消息处理
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.WebSocketClient.ConnectAsync(System.String)">
            <summary>
            连接到指定WebSocket Server服务
            </summary>
            <param name="uri"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.WebSocketClient.SendAsync(System.String)">
            <summary>
            发送消息
            </summary>
            <param name="message"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.WebSocketClient.ReceiveAsync">
            <summary>
            开始处理消息
            </summary>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.WebSocketAuthorizedHelper">
            <summary>
            WebSocket JSON 消息授权管理
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.WebSocketAuthorizedHelper.#ctor(System.String,System.String,System.Func{System.Object,System.Threading.Tasks.Task{System.Boolean}})">
            <summary>
            WebSocket JSON 消息授权管理
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.WebSocketAuthorizedHelper.AddresPort">
            <summary>
            客户端地址
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.WebSocketAuthorizedHelper.TokenKey">
            <summary>
            授权字段
            </summary>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.WebSocketAuthorizedHelper.InspectionAuthorizedFunc">
            <summary>
            处理消息授权事件
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.WebSocketAuthorizedHelper.HandleAuthorized(System.String)">
            <summary>
            处理消息授权
            </summary>
            <param name="message"></param>
        </member>
        <member name="T:Serein.Library.Network.WebSocketCommunication.WebSocketServer">
            <summary>
            WebSocket服务类
            </summary>
        </member>
        <member name="P:Serein.Library.Network.WebSocketCommunication.WebSocketServer.MsgHandleHelper">
            <summary>
            消息处理
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.WebSocketServer.#ctor">
            <summary>
            创建无须授权验证的WebSocket服务端
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.WebSocketServer.#ctor(System.String,System.Func{System.Object,System.Threading.Tasks.Task{System.Boolean}})">
            <summary>
            创建需要授权验证的WebSocket服务端
            </summary>
            <param name="tokenKey">token 字段</param>
            <param name="inspectionAuthorizedFunc">验证token的方法</param>
        </member>
        <member name="F:Serein.Library.Network.WebSocketCommunication.WebSocketServer.AuthorizedClients">
            <summary>
            授权
            </summary>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.WebSocketServer.StartAsync(System.String)">
            <summary>
            进行监听服务
            </summary>
            <param name="url"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Network.WebSocketCommunication.WebSocketServer.Stop">
            <summary>
            停止监听服务
            </summary>
        </member>
        <member name="T:Serein.Library.Web.UrlAttribute">
            <summary>
            表示参数为url中的数据
            </summary>
        </member>
        <member name="T:Serein.Library.Web.BobyAttribute">
            <summary>
            表示入参参数为整个boby的数据
            <para>
            例如：User类型含有int id、string name字段</para>
            <para>
            ① Add(User user)</para>
             <para>请求需要传入的json为
                 {"user":{
                   "id":2,
                   "name":"李志忠"}}</para>
              <para>
            ② Add([Boby]User user)</para>
             <para>请求需要传入的json为
                 {"id":2,"name":"李志忠"}</para>
            
            </summary>
        </member>
        <member name="T:Serein.Library.Web.AutoHostingAttribute">
            <summary>
            标记该类为 Web Api 处理类
            </summary>
        </member>
        <member name="T:Serein.Library.Web.WebApiAttribute">
            <summary>
            方法的接口类型与附加URL
            </summary>
        </member>
        <member name="F:Serein.Library.Web.WebApiAttribute.IsUrl">
            <summary>
            方法名称不作为url的部分
            </summary>
        </member>
        <member name="M:Serein.Library.Web.WebApiAttribute.#ctor(Serein.Library.Web.ApiType,System.Boolean,System.String)">
            <summary>
             假设UserController.Add()的WebAPI特性中
             http是HTTP.POST
             url被显示标明“temp”
             那么请求的接口是POST,URL是
             [http://localhost:8080]/user/add/temp
            </summary>
            <param name="http"></param>
            <param name="url"></param>
        </member>
        <member name="T:Serein.Library.Web.IRouter">
            <summary>
            路由接口
            </summary>
        </member>
        <member name="M:Serein.Library.Web.IRouter.AddHandle(System.Type)">
            <summary>
            添加处理模块
            </summary>
            <param name="controllerType"></param>
        </member>
        <member name="M:Serein.Library.Web.IRouter.ProcessingAsync(System.Net.HttpListenerContext)">
            <summary>
            路由解析开始处理
            </summary>
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Web.Router">
            <summary>
            路由注册与解析
            </summary>
        </member>
        <member name="F:Serein.Library.Web.Router._controllerTypes">
            <summary>
            控制器实例对象的类型，每次调用都会重新实例化，[Url - ControllerType]
            </summary>
        </member>
        <member name="F:Serein.Library.Web.Router.HandleModels">
            <summary>
            用于存储路由信息，[GET|POST - [Url - Method]]
            </summary>
        </member>
        <member name="M:Serein.Library.Web.Router.ProcessingAsync(System.Net.HttpListenerContext)">
            <summary>
            在外部调用API后，解析路由，调用对应的方法
            </summary>
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Web.Router.ReadRequestBodyAsync(System.Net.HttpListenerRequest)">
            <summary>
            读取Body中的消息
            </summary>
            <param name="request"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Web.Router.ResponseApiMsg(System.Net.HttpListenerResponse,System.Object)">
            <summary>
            返回响应消息
            </summary>
            <param name="response"></param>
            <param name="msg"></param>
        </member>
        <member name="M:Serein.Library.Web.Router.AddRoutesUrl(Serein.Library.Web.AutoHostingAttribute,Serein.Library.Web.WebApiAttribute,System.Type,System.Reflection.MethodInfo)">
            <summary>
            从方法中收集路由信息，返回方法对应的url
            </summary>
            <param name="autoHostingAttribute">类的特性</param>
            <param name="webAttribute">方法的特性</param>
            <param name="controllerType">控制器类型</param>
            <param name="method">方法信息</param>
            <returns>方法对应的urk</returns>
        </member>
        <member name="M:Serein.Library.Web.Router.CleanUrl(System.String)">
            <summary>
            修正方法特性中的URL格式
            </summary>
            <param name="url"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Web.Router.GetUrlData(System.Uri)">
            <summary>
            方法声明，用于解析 URL 获取路由参数
            </summary>
            <param name="uri"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Web.Router.ExtractTargetTypeFromExceptionMessage(System.String)">
            <summary>
            从控制器调用方法的异常中获取出出错类型的信息
            </summary>
            <param name="errorMessage"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Web.WebApiServer">
            <summary>
            HTTP接口监听类
            </summary>
        </member>
        <member name="M:Serein.Library.Web.WebApiServer.ProcessRequestAsync(System.Net.HttpListenerContext)">
            <summary>
            处理请求
            </summary>
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Web.RequestLimiter">
            <summary>
            判断访问接口的频次是否正常
            </summary>
        </member>
        <member name="M:Serein.Library.Web.RequestLimiter.AllowRequest(System.Net.HttpListenerRequest)">
            <summary>
            判断访问接口的频次是否正常
            </summary>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.AutoInjectionAttribute">
            <summary>
            <para>表示该属性为自动注入依赖项。</para>
            <para>使用场景：构造函数中存在互相依赖的情况</para>
            <para>例如ServiceA类构造函数中需要传入ServiceB，ServiceB类构造函数中也需要传入ServiceA</para>
            <para>这种情况会导致流程启动时，IOC容器无法注入构造函数并创建类型，导致启动失败。</para>
            <para>解决方法：从ServiceA类的构造函数中移除ServiceB类型的入参，将该类型更改为公开可见的可写属性成员ServiceB serviceB{get;set;}，并在该属性上标记[AutoInjection]特性</para>
            </summary>
        </member>
        <member name="T:Serein.Library.RegisterSequence">
            <summary>
            注册顺序
            </summary>
        </member>
        <member name="F:Serein.Library.RegisterSequence.Node">
            <summary>
            不自动初始化
            </summary>
        </member>
        <member name="F:Serein.Library.RegisterSequence.FlowInit">
            <summary>
            初始化后
            </summary>
        </member>
        <member name="F:Serein.Library.RegisterSequence.FlowLoading">
            <summary>
            加载后
            </summary>
        </member>
        <member name="T:Serein.Library.AutoRegisterAttribute">
            <summary>
            <para>启动流程时，会将标记了该特性的类自动注册到IOC容器中，从而无需手动进行注册绑定。</para>
            <para>流程启动后，IOC容器会进行5次注册绑定。</para>
            <para>第1次注册绑定：初始化所有节点所属的类（[DynamicFlow]标记的类）。</para>
            <para>第2次注册绑定：※初始化所有[AutoRegister(Class=FlowInit)]的类。</para>
            <para>第3次注册绑定：调用所有Init节点后，进行注册绑定。</para>
            <para>第4次注册绑定：※初始化所有[AutoRegister(Class=FlowLoading)]的类</para>
            <para>第5次注册绑定：调用所有Load节点后，进行注册绑定。</para>
            <para>需要注意的是，在第1次进行注册绑定的过程中，如果类的构造函数存在入参，那么也会将入参自动创建实例并托管到IOC容器中。</para>
            </summary>
        </member>
        <member name="T:Serein.Library.DynamicFlowAttribute">
            <summary>
            <para>表示该类中存在节点信息</para>
            </summary>
        </member>
        <member name="P:Serein.Library.DynamicFlowAttribute.Name">
            <summary>
            补充名称，不影响运行流程
            </summary>
        </member>
        <member name="P:Serein.Library.DynamicFlowAttribute.Scan">
            <summary>
            如果设置为false，将忽略该类
            </summary>
        </member>
        <member name="T:Serein.Library.NodeActionAttribute">
            <summary>
             <para>表示该方法将会生成节点，或是加入到流程运行中</para>
             <para>如果是Task类型的返回值，将会自动进行等待</para>
            </summary>
        </member>
        <member name="F:Serein.Library.NodeActionAttribute.Scan">
            <summary>
            如果设置为false时将不会生成节点信息
            </summary>
        </member>
        <member name="F:Serein.Library.NodeActionAttribute.AnotherName">
            <summary>
            类似于注释的效果
            </summary>
        </member>
        <member name="F:Serein.Library.NodeActionAttribute.MethodDynamicType">
            <summary>
            标记节点行为
            </summary>
        </member>
        <member name="F:Serein.Library.NodeActionAttribute.LockName">
            <summary>
            暂无意义
            </summary>
        </member>
        <member name="T:Serein.Library.EnumTypeConvertorAttribute">
            <summary>
            枚举值转换器，要求枚举项标记的BindValueAttribute特性，与搭配的参数类型一致，否则参数不会传入
            </summary>
        </member>
        <member name="T:Serein.Library.BindConvertorAttribute">
            <summary>
            绑定转换器
            </summary>
        </member>
        <member name="T:Serein.Library.IEnumConvertor`2">
            <summary>
            枚举转换器接口
            </summary>
            <typeparam name="TEnum"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="F:Serein.Library.NodeStaticConfig.FlipFlopCtsName">
            <summary>
            全局触发器CTS
            </summary>
        </member>
        <member name="F:Serein.Library.NodeStaticConfig.FlowRungCtsName">
            <summary>
            流程运行CTS
            </summary>
        </member>
        <member name="F:Serein.Library.NodeStaticConfig.NodeSpaceName">
            <summary>
            节点的命名空间
            </summary>
        </member>
        <member name="F:Serein.Library.NodeStaticConfig.ConnectionTypes">
            <summary>
            节点连接关系种类
            </summary>
        </member>
        <member name="T:Serein.Library.SereinBaseFunction">
            <summary>
            基础功能
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ArrayHelper.Expansion``1(``0[],System.Int32)">
            <summary>
            数组尾部扩容
            </summary>
            <typeparam name="T"></typeparam>
            <param name="original"></param>
            <param name="length">扩容长度</param>
            <returns>新的数组</returns>
            <exception cref="T:System.Exception"> length 传入负值</exception>
        </member>
        <member name="M:Serein.Library.Utils.ArrayHelper.AddToArray``1(``0[],``0)">
            <summary>
            为数组添加新的元素
            </summary>
            <typeparam name="T"></typeparam>
            <param name="original"></param>
            <param name="newObject"></param>
            <returns>新的数组</returns>
        </member>
        <member name="M:Serein.Library.Utils.ArrayHelper.RemoteToArray``1(``0[],System.Int32)">
            <summary>
            移除数组某个元素
            </summary>
            <typeparam name="T"></typeparam>
            <param name="original"></param>
            <param name="index"></param>
            <returns>新的数组</returns>
        </member>
        <member name="T:Serein.Library.Utils.ChannelFlowInterrupt">
            <summary>
            流程中断管理
            </summary>
        </member>
        <member name="T:Serein.Library.Utils.ChannelFlowInterrupt.CancelType">
            <summary>
            中断取消类型
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ChannelFlowInterrupt.GetCreateChannelWithTimeoutAsync(System.String,System.TimeSpan)">
            <summary>
            创建信号并指定超时时间，到期后自动触发（异步方法）
            </summary>
            <param name="signal">信号标识符</param>
            <param name="outTime">超时时间</param>
            <returns>等待任务</returns>
        </member>
        <member name="M:Serein.Library.Utils.ChannelFlowInterrupt.GetOrCreateChannelAsync(System.String)">
            <summary>
            创建信号，直到手动触发（异步方法）
            </summary>
            <param name="signal">信号标识符</param>
            <returns>等待任务</returns>
        </member>
        <member name="M:Serein.Library.Utils.ChannelFlowInterrupt.CreateChannelWithTimeoutSync(System.String,System.TimeSpan)">
            <summary>
            创建信号并指定超时时间，到期后自动触发（同步阻塞方法）
            </summary>
            <param name="signal">信号标识符</param>
            <param name="timeout">超时时间</param>
        </member>
        <member name="M:Serein.Library.Utils.ChannelFlowInterrupt.TriggerSignal(System.String)">
            <summary>
            触发信号
            </summary>
            <param name="signal">信号字符串</param>
            <returns>是否成功触发</returns>
        </member>
        <member name="M:Serein.Library.Utils.ChannelFlowInterrupt.CancelAllTasks">
            <summary>
            取消所有任务
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ChannelFlowInterrupt.GetOrCreateChannel(System.String)">
            <summary>
            获取或创建指定信号的 Channel
            </summary>
            <param name="signal">信号字符串</param>
            <returns>对应的 Channel</returns>
        </member>
        <member name="M:Serein.Library.Utils.ChannelFlowTrigger`1.GetOrCreateChannel(`0)">
            <summary>
            获取或创建指定信号的 Channel
            </summary>
            <param name="signal">枚举信号标识符</param>
            <returns>对应的 Channel</returns>
        </member>
        <member name="T:Serein.Library.Utils.ConvertHelper">
            <summary>
            类型转换工具类
            </summary>
        </member>
        <member name="T:Serein.Library.Utils.DebounceHelper">
            <summary>
            消息防抖
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.DebounceHelper.CanExecute(System.String,System.Int32)">
            <summary>
            检查是否可以执行操作，根据传入的 key 和 debounceTime 来决定是否允许执行
            </summary>
            <param name="key">操作的唯一标识</param>
            <param name="debounceTimeInMs">防抖时间，单位为毫秒</param>
            <returns>如果可以执行操作，返回 true；否则返回 false</returns>
        </member>
        <member name="M:Serein.Library.Utils.DynamicObjectHelper.CreateTypeWithProperties(System.Collections.Generic.IDictionary{System.String,System.Type},System.String,System.Boolean)">
            <summary>
            创建具有属性的类型
            </summary>
            <param name="properties">成员属性名称及类型</param>
            <param name="typeName">类型名称</param>
            <param name="isOverlay">是否覆盖</param>
            <returns></returns>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="T:Serein.Library.Utils.EmitHelper">
            <summary>
            Emit创建委托工具类
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.EmitHelper.EmitMethodInfo.IsTask">
            <summary>
            是异步方法
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.EmitHelper.EmitMethodInfo.IsStatic">
            <summary>
            是静态的
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.EmitHelper.EmitMethodType.Func">
            <summary>
            普通的方法。如果方法返回void时，将会返回null。
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.EmitHelper.EmitMethodType.Task">
            <summary>
            无返回值的异步方法
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.EmitHelper.EmitMethodType.HasResultTask">
            <summary>
            有返回值的异步方法
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.EmitHelper.EmitMethodType.StaticFunc">
            <summary>
            普通的方法。如果方法返回void时，将会返回null。
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.EmitHelper.EmitMethodType.StaticTask">
            <summary>
            无返回值的异步方法
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.EmitHelper.CreateDynamicMethod(System.Reflection.MethodInfo,System.Delegate@)">
            <summary>
            根据方法信息创建动态调用的委托，返回方法类型，以及传出一个委托
            </summary>
            <param name="methodInfo"></param>
            <param name="delegate"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Utils.EnumHelper">
            <summary>
            枚举工具类，用于枚举转换器
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.EnumHelper.TryConvertEnum``1(System.String,``0@)">
            <summary>
            将字符串的字面量枚举值，转为对应的枚举值
            </summary>
            <typeparam name="TEnum">枚举</typeparam>
            <param name="value">枚举字面量</param>
            <param name="result">返回的枚举值</param>
            <returns>是否转换成功</returns>
        </member>
        <member name="M:Serein.Library.Utils.EnumHelper.ConvertEnum``1(System.String)">
            <summary>
            将字符串的字面量枚举值，转为对应的枚举值
            </summary>
            <typeparam name="TEnum">枚举</typeparam>
            <param name="value">枚举字面量</param>
            <returns>转换后的枚举值</returns>
        </member>
        <member name="M:Serein.Library.Utils.EnumHelper.GetBoundValue``2(``0,System.Func{Serein.Library.BindValueAttribute,System.Object})">
            <summary>
            从枚举值的 BindValueAttribute 特性中 获取绑定的参数（用于绑定了某些内容的枚举值）
            </summary>
            <typeparam name="TEnum">枚举类型</typeparam>
            <typeparam name="TResult">返回类型</typeparam>
            <param name="enumValue">枚举值</param>
            <param name="valueSelector">选择什么参数</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.EnumHelper.GetAttributeValue``3(``0,System.Func{``1,``2})">
            <summary>
            从枚举值从获取自定义特性的成员，并自动转换类型
            </summary>
            <typeparam name="TEnum">枚举类型</typeparam>
            <typeparam name="TAttribute">自定义特性类型</typeparam>
            <typeparam name="TResult">返回类型</typeparam>
            <param name="enumValue">枚举值</param>
            <param name="valueSelector">特性成员选择</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.EnumHelper.GetAttribute``2(``0)">
            <summary>
            从枚举值从获取自定义特性的成员，并自动转换类型
            </summary>
            <typeparam name="TEnum">枚举类型</typeparam>
            <typeparam name="TAttribute">自定义特性类型</typeparam>
            <param name="enumValue">枚举值</param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Utils.ExpressionHelper">
            <summary>
            基于类型创建表达式树反射委托（目前已使用EmitHelper代替）
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.ExpressionHelper.Cache">
            <summary>
            缓存表达式树反射方法
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.PropertyGetter(System.Type,System.String)">
            <summary>
            动态获取属性值
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.CreateGetterDelegate(System.Type,System.String)">
            <summary>
            动态获取属性值
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.PropertySetter(System.Type,System.String)">
            <summary>
            动态设置属性值
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.CreateSetterDelegate(System.Type,System.String)">
            <summary>
            动态设置属性值
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.FieldGetter(System.Type,System.String)">
            <summary>
            动态获取字段值
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.CreateFieldGetterDelegate(System.Type,System.String)">
            <summary>
            动态获取字段值
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.FieldSetter(System.Type,System.String)">
            <summary>
            动态设置字段值
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.CreateFieldSetterDelegate(System.Type,System.String)">
            <summary>
            动态设置字段值
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.MethodCaller(System.Type,System.Reflection.MethodInfo)">
            <summary>
            表达式树构建无参数，无返回值方法
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.CreateMethodCallerDelegate(System.Type,System.Reflection.MethodInfo)">
            <summary>
            表达式树构建无参数，无返回值方法
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.MethodCallerHaveResult(System.Type,System.Reflection.MethodInfo)">
            <summary>
            表达式树构建无参数，有返回值方法
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.CreateMethodCallerDelegateHaveResult(System.Type,System.Reflection.MethodInfo)">
            <summary>
            表达式树构建无参数，有返回值方法
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.MethodCaller(System.Type,System.Reflection.MethodInfo,System.Type[])">
            <summary>
            表达式树构建多个参数,无返回值的方法
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.CreateMethodCallerDelegate(System.Type,System.Reflection.MethodInfo,System.Type[])">
            <summary>
            表达式树构建多个参数,无返回值的方法
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.MethodCallerHaveResult(System.Type,System.Reflection.MethodInfo,System.Type[])">
            <summary>
            表达式树构建多个参数,有返回值的方法
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.ExpressionHelper.CreateMethodCallerDelegateHaveResult(System.Type,System.Reflection.MethodInfo,System.Type[])">
            <summary>
            表达式树构建多个参数,有返回值的方法
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Serein.Library.Utils.ExpressionHelper.MethodCallerAsync(System.Type,System.Reflection.MethodInfo)" -->
        <!-- Badly formed XML comment ignored for member "M:Serein.Library.Utils.ExpressionHelper.CreateMethodCallerDelegateAsync(System.Type,System.Reflection.MethodInfo)" -->
        <member name="M:Serein.Library.Utils.ExpressionHelper.MethodCallerAsync(System.Type,System.Reflection.MethodInfo,System.Type[])">
            <summary>
            表达式树构建多个参数，有返回值(Task-object)的方法（触发器）
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Serein.Library.Utils.ExpressionHelper.CreateMethodCallerDelegateAsync(System.Type,System.Reflection.MethodInfo,System.Type[])" -->
        <member name="T:Serein.Library.Utils.MessageIdGenerator">
            <summary>
            消息ID生成工具
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.MessageIdGenerator.GenerateMessageId(System.String)">
            <summary>
            生成一个不重复的标识
            </summary>
            <param name="theme"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.ObjectConvertHelper.ConvertParentToChild(System.Object,System.Type)">
            <summary>
            父类转为子类
            </summary>
            <param name="parent">父类对象</param>
            <param name="childType">子类类型</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.ObjectConvertHelper.ConvertToEnumerableType(System.Object,System.Type)">
            <summary>
            集合类型转换为Array/List 
            </summary>
            <param name="obj"></param>
            <param name="targetType"></param>
            <returns></returns>
            <exception cref="T:System.InvalidOperationException"></exception>
        </member>
        <member name="T:Serein.Library.Utils.RemoteMsgUtil">
            <summary>
            管理远程环境，具备连接、发送消息、停止的功能
            </summary>
        </member>
        <member name="T:Serein.Library.Utils.RemoteMsgUtil.ControlConfiguration">
            <summary>
            远程环境配置
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.RemoteMsgUtil.ControlConfiguration.Addres">
            <summary>
            远程环境的网络地址
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.RemoteMsgUtil.ControlConfiguration.Port">
            <summary>
            远程环境的对外端口
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.RemoteMsgUtil.ControlConfiguration.Token">
            <summary>
            登录远程环境必须携带的token(可以为可序列化的JSON对象)
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.RemoteMsgUtil.ControlConfiguration.MsgIdJsonKey">
            <summary>
            有关消息ID的 Json Key
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.RemoteMsgUtil.ControlConfiguration.ThemeJsonKey">
            <summary>
            有关消息主题的 Json Key
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.RemoteMsgUtil.ControlConfiguration.DataJsonKey">
            <summary>
            有关数据的 Json Key
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.RemoteMsgUtil.#ctor(Serein.Library.Utils.RemoteMsgUtil.ControlConfiguration)">
            <summary>
            配置远程连接IP端口
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.RemoteMsgUtil.Config">
            <summary>
            配置信息
            </summary>
        </member>
        <member name="P:Serein.Library.Utils.RemoteMsgUtil.EnvClient">
            <summary>
            连接到远程的客户端
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.RemoteMsgUtil.ConnectAsync">
            <summary>
            尝试连接到远程环境
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.RemoteMsgUtil.SendAsync(System.String,System.String,System.Object)">
            <summary>
            发送消息
            </summary>
            <param name="msgId"></param>
            <param name="theme"></param>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="P:Serein.Library.Utils.SereinEnv.EnvGlobalData">
            <summary>
            记录全局数据
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.SereinEnv.AddOrUpdateFlowGlobalData(System.String,System.Object)">
            <summary>
            添加或更新全局数据
            </summary>
            <param name="name"></param>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinEnv.ChangeNameFlowGlobalData(System.String,System.String)">
            <summary>
            更改某个数据的名称
            </summary>
            <param name="oldName">旧名称</param>
            <param name="newName">新名称</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinEnv.GetFlowGlobalData(System.String)">
            <summary>
            获取全局数据
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinEnv.ClearFlowGlobalData">
            <summary>
            清空全局数据
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinEnv.SetEnv(Serein.Library.Api.IFlowEnvironment)">
            <summary>
            设置运行流程
            </summary>
            <param name="environment"></param>
        </member>
        <member name="M:Serein.Library.Utils.SereinEnv.WriteLine(Serein.Library.InfoType,System.String,Serein.Library.InfoClass)">
            <summary>
            输出内容
            </summary>
            <param name="type">类型</param>
            <param name="message">内容</param>
            <param name="class">级别</param>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.BoolConditionResolver.Operator.Is">
            <summary>
            是
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.StringConditionResolver.Operator.Contains">
            <summary>
            出现过
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.StringConditionResolver.Operator.DoesNotContain">
            <summary>
            没有出现过
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.StringConditionResolver.Operator.Equal">
            <summary>
            相等
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.StringConditionResolver.Operator.NotEqual">
            <summary>
            不相等
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.StringConditionResolver.Operator.StartsWith">
            <summary>
            起始字符串等于
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.StringConditionResolver.Operator.EndsWith">
            <summary>
            结束字符串等于
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.ValueTypeConditionResolver`1.Operator.Node">
            <summary>
            不进行任何操作
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.ValueTypeConditionResolver`1.Operator.GreaterThan">
            <summary>
            大于
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.ValueTypeConditionResolver`1.Operator.LessThan">
            <summary>
            小于
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.ValueTypeConditionResolver`1.Operator.Equal">
            <summary>
            等于
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.ValueTypeConditionResolver`1.Operator.GreaterThanOrEqual">
            <summary>
            大于或等于
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.ValueTypeConditionResolver`1.Operator.LessThanOrEqual">
            <summary>
            小于或等于
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.ValueTypeConditionResolver`1.Operator.InRange">
            <summary>
            在两者之间
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinExpression.Resolver.ValueTypeConditionResolver`1.Operator.OutOfRange">
            <summary>
            不在两者之间
            </summary>
        </member>
        <member name="T:Serein.Library.Utils.SereinExpression.StringHelper">
            <summary>
            字符串工具类
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.StringHelper.MySkip``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
            <summary>
            Net低版本无法引入Skip函数，所以使用扩展方法代替
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <param name="count"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SereinConditionParser.GetArithmeticExpression(System.String)">
            <summary>
            获取计算表达式的部分
            </summary>
            <param name="part"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SereinConditionParser.GetMemberValue(System.Object,System.String)">
            <summary>
            获取对象指定名称的成员
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SereinConditionParser.ParseObjectExpression(System.Object,System.String)">
            <summary>
            解析对象表达式
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SereinConditionParser.ParseSimpleExpression(System.Object,System.String)">
            <summary>
            条件表达式解析
            </summary>
            <param name="data"></param>
            <param name="expression"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SereinConditionParser.ParseValueTypeOperator``1(System.String)">
            <summary>
            数值操作类型
            </summary>
            <typeparam name="T"></typeparam>
            <param name="operatorStr"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SereinConditionParser.ParseBoolOperator(System.String)">
            <summary>
            布尔操作类型
            </summary>
            <param name="operatorStr"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SereinConditionParser.ParseStringOperator(System.String)">
            <summary>
            字符串操作类型
            </summary>
            <param name="operatorStr"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="T:Serein.Library.Utils.SereinExpression.SereinConditionResolver">
            <summary>
            条件解析抽象类
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SereinExpressionExtension.TryGetType(System.String,System.String@,System.Type@)">
            <summary>
            尝试获取类型
            </summary>
            <param name="context"></param>
            <param name="elementName"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SereinExpressionExtension.TryGetIndex(System.String,System.String@,System.String@)">
            <summary>
            尝试获取下标
            </summary>
            <param name="context"></param>
            <param name="strIndexKey">文本形式的key/索引</param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Utils.SereinExpression.SerinArithmeticExpressionEvaluator`1">
            <summary>
            使用表达式操作/获取 对象的值
            获取值 @get .xx.xxx 
            设置值 @set .xx.xxx  = [data]
            </summary>
            <param name="obj">操作的对象</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SerinExpressionEvaluator.Evaluate(System.String,System.Object,System.Boolean@)">
            <summary>
            
            </summary>
            <param name="expression">表达式</param>
            <param name="targetObJ">操作对象</param>
            <param name="isChange">是否改变了对象（Set语法）</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SerinExpressionEvaluator.InvokeMethod(System.Object,System.String)">
            <summary>
            调用目标方法
            </summary>
            <param name="target">目标实例</param>
            <param name="methodCall">方法名称</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SerinExpressionEvaluator.GetMember(System.Object,System.String)">
            <summary>
            获取值
            </summary>
            <param name="target">目标实例</param>
            <param name="memberPath">属性路径</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SerinExpressionEvaluator.SetMember(System.Object,System.String)">
            <summary>
            设置目标的值
            </summary>
            <param name="target">目标实例</param>
            <param name="assignment">属性路径 </param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SerinExpressionEvaluator.DataTypeConversion(System.Object,System.String)">
            <summary>
            数据类型转换
            </summary>
            <param name="value"></param>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SerinExpressionEvaluator.ComputedNumber(System.Object,System.String)">
            <summary>
            计算数学简单表达式
            </summary>
            <param name="value"></param>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinExpression.SerinExpressionEvaluator.ComputedNumber``1(System.Object,System.String)">
            <summary>
            计算数学公式
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.Utils.SereinIOC">
            <summary>
            IOC管理容器
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinIOC._typeMappings">
            <summary>
            类型集合，暂放待实例化的类型，完成实例化之后移除
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinIOC._dependencies">
            <summary>
            已完成注入的实例集合
            </summary>
        </member>
        <member name="F:Serein.Library.Utils.SereinIOC._unfinishedDependencies">
            <summary>
            未完成注入的实例集合。
            键：需要的类型名称
            值：元组（对象实例，对象的属性）
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.SereinIOC.Register(System.Type,System.Object[])">
            <summary>
            注册类型
            </summary>
            <param name="type">目标类型</param>
            <param name="parameters">参数</param>
        </member>
        <member name="M:Serein.Library.Utils.SereinIOC.Register``1(System.Object[])">
            <summary>
            注册类型
            </summary>
            <param name="type">目标类型</param>
            <param name="parameters">参数</param>
        </member>
        <member name="M:Serein.Library.Utils.SereinIOC.Register``2(System.Object[])">
            <summary>
            注册接口类型
            </summary>
            <param name="type">目标类型</param>
            <param name="parameters">参数</param>
        </member>
        <member name="M:Serein.Library.Utils.SereinIOC.Instantiate(System.Type)">
            <summary>
            用于临时实例的创建，不登记到IOC容器中，依赖项注入失败时也不记录。
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinIOC.CustomRegisterInstance(System.String,System.Object,System.Boolean)">
            <summary>
            指定key值注册一个已经实例化的实例对象
            </summary>
            <param name="key"></param>
            <param name="instance"></param>
            <param name="needInjectProperty"></param>
        </member>
        <member name="M:Serein.Library.Utils.SereinIOC.Reset">
            <summary>
            清空容器对象
            </summary>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.Utils.SereinIOC.RegisterType(System.String,System.Type,System.Object[])">
            <summary>
            注册类型
            </summary>
            <param name="typeFull"></param>
            <param name="type"></param>
        </member>
        <member name="M:Serein.Library.Utils.SereinIOC.InjectUnfinishedDependencies(System.String,System.Object)">
            <summary>
            如果其它实例想要该对象时，注入过去
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.SereinIOC.InjectDependencies(System.Object,System.Boolean)">
            <summary>
            注入目标实例的依赖项
            </summary>
            <param name="instance">实例</param>
            <param name="isRecord">未完成依赖项注入时是否记录</param>
        </member>
        <member name="T:Serein.Library.Utils.SingleSyncFlowTrigger`1">
            <summary>
            同步的单体消息触发器
            </summary>
            <typeparam name="TSingle"></typeparam>
        </member>
        <member name="T:Serein.Library.Utils.UIContextOperation">
            <summary>
            为类库提供了在UI线程上下文操作的方法（使用Serein.Workbench时不用处理）
            在WPF、Winform项目中，多线程中直接操作UI线程可能发生非预期的异常
            所以当你设置自己的平台时，需要手动实例化这个工具类
            </summary>
        </member>
        <member name="M:Serein.Library.Utils.UIContextOperation.#ctor(System.Threading.SynchronizationContext)">
            <summary>
            传入UI线程上下文
            </summary>
            <param name="synchronizationContext">线程上下文</param>
        </member>
        <member name="M:Serein.Library.Utils.UIContextOperation.Invoke(System.Action)">
            <summary>
            同步方式进行调用方法
            </summary>
            <param name="uiAction">要执行的UI操作</param>
        </member>
        <member name="M:Serein.Library.Utils.UIContextOperation.InvokeAsync(System.Action)">
            <summary>
            异步方式进行调用
            </summary>
            <param name="uiAction">要执行的UI操作</param>
            <returns></returns>
        </member>
        <member name="T:Serein.Library.TriggerDescription">
            <summary>
            触发类型
            </summary>
        </member>
        <member name="F:Serein.Library.TriggerDescription.External">
            <summary>
            外部触发
            </summary>
        </member>
        <member name="F:Serein.Library.TriggerDescription.Overtime">
            <summary>
            超时触发
            </summary>
        </member>
        <member name="F:Serein.Library.TriggerDescription.TypeInconsistency">
            <summary>
            触发了，但类型不一致
            </summary>
        </member>
        <member name="T:Serein.Library.TaskFlowTrigger`1">
            <summary>
            信号触发器类，带有消息广播功能。
            使用枚举作为标记，创建
            </summary>
        </member>
        <member name="M:Serein.Library.TaskFlowTrigger`1.GetOrCreateSubject(`0)">
            <summary>
            获取或创建指定信号的 Subject（消息广播者）
            </summary>
            <param name="signal">枚举信号标识符</param>
            <returns>对应的 Subject</returns>
        </member>
        <member name="M:Serein.Library.TaskFlowTrigger`1.Subscribe``1(`0,System.Action{Serein.Library.TriggerResult{System.Object}})">
            <summary>
            订阅指定信号的消息
            </summary>
            <param name="signal">枚举信号标识符</param>
            <param name="observer">订阅者</param>
            <returns>取消订阅的句柄</returns>
        </member>
        <member name="M:Serein.Library.TaskFlowTrigger`1.WaitTriggerWithTimeoutAsync``1(`0,System.TimeSpan)">
            <summary>
            等待触发器并指定超时的时间
            </summary>
            <typeparam name="TResult">返回值类型</typeparam>
            <param name="signal">等待信号</param>
            <param name="outTime">超时时间</param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.TaskFlowTrigger`1.WaitTriggerAsync``1(`0)">
            <summary>
            等待触发
            </summary>
            <typeparam name="TResult"></typeparam>
            <param name="signal"></param>
            <returns></returns>
        </member>
        <member name="M:Serein.Library.TaskFlowTrigger`1.InvokeTriggerAsync``1(`0,``0)">
            <summary>
            手动触发信号，并广播给所有订阅者
            </summary>
            <typeparam name="TResult">触发类型</typeparam>
            <param name="signal">枚举信号标识符</param>
            <param name="value">传递的数据</param>
            <returns>是否成功触发</returns>
        </member>
        <member name="M:Serein.Library.TaskFlowTrigger`1.CancelAllTrigger">
            <summary>
            取消所有任务
            </summary>
        </member>
        <member name="T:Serein.Library.Observer`1">
            <summary>
            观察者类，用于包装 Action
            </summary>
        </member>
    </members>
</doc>
