XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension

【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等

公开
关注 0 Fork 0 Star 0
UTF-8
using System.Runtime.CompilerServices;

namespace XFEExtension.NetCore.TaskExtension;

/// <summary>
/// 任务同步器
/// </summary>
public class TaskSynchronizer
{
    /// <summary>
    /// 当前任务
    /// </summary>
    public Task? CurrentTask { get; set; }
    /// <summary>
    /// 返回当前任务的等待器
    /// </summary>
    /// <returns></returns>
    public TaskAwaiter GetAwaiter()
    {
        if (CurrentTask is not null)
            return CurrentTask.GetAwaiter();
        return Task.CompletedTask.GetAwaiter();
    }
    /// <summary>
    /// 添加任务
    /// </summary>
    /// <param name="task">待执行任务</param>
    public void AddTask(Task task) => CurrentTask = task;
    /// <summary>
    /// 任务同步器
    /// </summary>
    public TaskSynchronizer() { }
    /// <summary>
    /// 任务同步器
    /// </summary>
    /// <param name="task">第一个待执行任务</param>
    public TaskSynchronizer(Task task) => CurrentTask = task;
}