C# AsyncVoidMethodBuilder AOT 原型示例 - AwaitUnsafeOnCompleted 和 Start 方法

本文介绍了 C# 中 System.Runtime.CompilerServices.AsyncVoidMethodBuilder 的 AwaitUnsafeOnCompleted 和 Start 方法的泛型 AOT 原型示例,以 Skillx.Controls.Headpic/d__13 为例。

这两个语句的泛型 AOT 原型如下所示:

  1. System.Void System.Runtime.CompilerServices.AsyncVoidMethodBuilder::AwaitUnsafeOnCompleted<System.Runtime.CompilerServices.TaskAwaiter, Skillx.Controls.Headpic/d__13>(System.Runtime.CompilerServices.TaskAwaiter&, Skillx.Controls.Headpic/d__13&)
  2. System.Void System.Runtime.CompilerServices.AsyncVoidMethodBuilder::Start<Skillx.Controls.Headpic/d__13>(Skillx.Controls.Headpic/d__13&)

示例代码:

// 省略其他代码

// 1. AwaitUnsafeOnCompleted
System.Runtime.CompilerServices.AsyncVoidMethodBuilder.AwaitUnsafeOnCompleted<System.Runtime.CompilerServices.TaskAwaiter, Skillx.Controls.Headpic/<GetPictureFromServerAsync>d__13>(ref taskAwaiter, ref stateMachine);

// 2. Start
System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start<Skillx.Controls.Headpic/<GetPictureFromServerAsync>d__13>(ref stateMachine);

// 省略其他代码

说明:

  • AwaitUnsafeOnCompleted 方法用于在异步方法中等待一个任务,并指定一个状态机以继续执行。
  • Start 方法用于启动异步方法的状态机。
  • Skillx.Controls.Headpic/<GetPictureFromServerAsync>d__13 是一个状态机类,用于管理异步方法的执行状态。

注意:

  • AOT 原型需要使用 unsafe 代码块进行定义。
  • 以上示例代码仅供参考,实际应用中可能需要根据具体情况进行调整。
C# AsyncVoidMethodBuilder AOT 原型示例 - AwaitUnsafeOnCompleted 和 Start 方法

原文地址: https://www.cveoy.top/t/topic/qxzn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录