refactor(coroutine): 优化任务协程扩展实现

- 将私有方法 CreateTaskCoroutine 替换为公共扩展方法 AsCoroutine
- 简化 StartTaskAsCoroutine 方法实现,直接调用 AsCoroutine 扩展方法
- 移除重复的私有方法定义,统一使用扩展方法模式
- 提高代码可读性和复用性
This commit is contained in:
GeWuYou 2026-02-15 23:21:12 +08:00 committed by gewuyou
parent d3ffcbc7bf
commit 396636e595

View File

@ -37,7 +37,7 @@ public static class TaskCoroutineExtensions
/// <returns>协程句柄</returns>
public static CoroutineHandle StartTaskAsCoroutine(this CoroutineScheduler scheduler, Task task)
{
return scheduler.Run(CreateTaskCoroutine(task));
return scheduler.Run(task.AsCoroutine());
}
/// <summary>
@ -49,13 +49,13 @@ public static class TaskCoroutineExtensions
/// <returns>协程句柄</returns>
public static CoroutineHandle StartTaskAsCoroutine<T>(this CoroutineScheduler scheduler, Task<T> task)
{
return scheduler.Run(CreateTaskCoroutine(task));
return scheduler.Run(task.AsCoroutine());
}
/// <summary>
/// 创建等待Task的协程
/// </summary>
private static IEnumerator<IYieldInstruction> CreateTaskCoroutine(Task task)
public static IEnumerator<IYieldInstruction> AsCoroutine(this Task task)
{
yield return task.AsCoroutineInstruction();
}
@ -63,7 +63,7 @@ public static class TaskCoroutineExtensions
/// <summary>
/// 创建等待泛型Task的协程
/// </summary>
private static IEnumerator<IYieldInstruction> CreateTaskCoroutine<T>(Task<T> task)
public static IEnumerator<IYieldInstruction> AsCoroutine<T>(this Task<T> task)
{
yield return task.AsCoroutineInstruction();
}