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