mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 03:04:29 +08:00
refactor(coroutine): 优化Task转协程实现
- 将AsCoroutine方法重命名为ToCoroutineEnumerator以提高语义清晰度 - 修改StartTaskAsCoroutine方法内部调用改为使用新的ToCoroutineEnumerator方法 - 为ToCoroutineEnumerator方法添加完整的XML文档注释 - 为泛型版本的ToCoroutineEnumerator<T>方法添加类型参数和参数说明 - 统一方法命名规范,提高代码可读性
This commit is contained in:
parent
396636e595
commit
cd909e2ecf
@ -37,7 +37,7 @@ public static class TaskCoroutineExtensions
|
||||
/// <returns>协程句柄</returns>
|
||||
public static CoroutineHandle StartTaskAsCoroutine(this CoroutineScheduler scheduler, Task task)
|
||||
{
|
||||
return scheduler.Run(task.AsCoroutine());
|
||||
return scheduler.Run(task.ToCoroutineEnumerator());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -49,21 +49,28 @@ public static class TaskCoroutineExtensions
|
||||
/// <returns>协程句柄</returns>
|
||||
public static CoroutineHandle StartTaskAsCoroutine<T>(this CoroutineScheduler scheduler, Task<T> task)
|
||||
{
|
||||
return scheduler.Run(task.AsCoroutine());
|
||||
return scheduler.Run(task.ToCoroutineEnumerator());
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建等待Task的协程
|
||||
/// 将Task转换为协程枚举器
|
||||
/// </summary>
|
||||
public static IEnumerator<IYieldInstruction> AsCoroutine(this Task task)
|
||||
/// <param name="task">要转换的Task</param>
|
||||
/// <returns>协程枚举器</returns>
|
||||
public static IEnumerator<IYieldInstruction> ToCoroutineEnumerator(this Task task)
|
||||
{
|
||||
yield return task.AsCoroutineInstruction();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建等待泛型Task的协程
|
||||
/// 将泛型Task转换为协程枚举器
|
||||
/// </summary>
|
||||
public static IEnumerator<IYieldInstruction> AsCoroutine<T>(this Task<T> task)
|
||||
/// <typeparam name="T">Task返回值的类型</typeparam>
|
||||
/// <param name="task">要转换的泛型Task</param>
|
||||
/// <returns>协程枚举器</returns>
|
||||
public static IEnumerator<IYieldInstruction> ToCoroutineEnumerator<T>(this Task<T> task)
|
||||
{
|
||||
yield return task.AsCoroutineInstruction();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user