csharp-async 是一个帮助 AI 检查 C# 异步代码的 Skill。你把正在处理的代码交给它,它会看任务怎样返回、怎样等待,以及错误和取消请求如何处理。
异步方法通常用 Task 表示还在进行的工作;会返回值时使用 Task<T>。事件处理以外,不应简单写成 async void,让调用方失去正常等待任务和处理结果的入口。
多个任务的结果都需要时,原文建议考虑 Task.WhenAll;只关心谁先完成时,考虑 Task.WhenAny。它还提醒避免把异步流程变成 .Wait() 或 .Result 这样的阻塞等待,并对长任务考虑取消令牌。
异常不能被悄悄吞掉,方法名也应让调用者看出异步性质。拿到的主要是问题识别与修改建议;具体并发安排、取消时机和库代码的等待配置,需要结合运行环境判断,不能把一份简短清单逐句机械套进所有方法。