Files
serein-flow/Library/Api/IFlipflopContext.cs

28 lines
999 B
C#
Raw Normal View History

using Serein.Library;
using Serein.Library.Utils;
namespace Serein.Library.Api
{
2024-10-11 16:46:16 +08:00
/// <summary>
2024-10-11 19:31:34 +08:00
/// <para>触发器必须使用该接口作为返回值同时必须用Task泛型表示否则将不会进行等待触发。</para>
/// <para>即使大多数时候,触发器传出的数据可能是任何一种数据类型,导致其泛型参数可能是无意义的 object / dynamic 。</para>
/// <para>但在确定传出类型的场景下,至少可以保证数据一定为某个类型。</para>
2024-10-11 16:46:16 +08:00
/// </summary>
public interface IFlipflopContext<out TResult>
{
2024-10-11 16:46:16 +08:00
/// <summary>
/// 触发器完成的状态(根据业务场景手动设置)
/// </summary>
2024-09-15 22:07:10 +08:00
FlipflopStateType State { get; set; }
2024-10-11 16:46:16 +08:00
/// <summary>
2024-10-11 19:37:07 +08:00
/// 触发类型
2024-10-11 16:46:16 +08:00
/// </summary>
TriggerDescription Type { get; set; }
2024-10-11 16:46:16 +08:00
/// <summary>
2024-10-11 19:37:07 +08:00
/// 触发时传递的数据
2024-10-11 16:46:16 +08:00
/// </summary>
TResult Value { get; }
}
}