using System.Threading; using System.Threading.Tasks; namespace PCL.Core.App.Tasks; /// /// 任务状态改变事件 /// 当前状态,将影响日志和 UI 显示效果 /// 状态消息 /// public delegate void TaskStateEvent(TaskState state, string message); /// /// 响应式任务接口
/// NOTE: 为确保运行时响应式模型的 hash 映射正常工作,若无特殊需求,请勿重写对象相等性实现如 /// ! ///
public interface ITask { /// /// 任务标题 /// public string Title { get; } /// /// 运行任务 /// /// 取消令牌 public Task ExecuteAsync(CancellationToken cancelToken = default); /// /// 任务状态改变事件 /// public event TaskStateEvent StateChanged; }