当前位置:网站首页 > R语言数据分析 > 正文

getcommevent 返回值(getparameter返回值类型)



异步方法可以具有以下返回类型:

  • (对于执行操作但不返回任何值的异步方法)。
  • (对于返回值的异步方法)。
  • (对于事件处理程序)。
  • 任何具有可访问的 方法的类型。 方法返回的对象必须实现 接口。
  • (对于返回异步流的异步方法)。

有关异步方法的详细信息,请参阅使用 Async 和 Await 的异步编程 (C#)。

还存在特定于 Windows 工作负载的其他几种类型:

  • ,适用于仅限于 Windows 的异步操作。
  • ,适用于 UWP 中不返回值的异步操作。
  • ,适用于 UWP 中只报告进程但不返回值的异步操作。
  • ,适用于 UWP 中返回值的异步操作。
  • ,适用于 UWP 中既报告进程又返回值的异步操作。

不包含 语句的异步方法或包含不返回操作数的 语句的异步方法通常具有返回类型 。 如果此类方法同步运行,它们将返回 。 如果在异步方法中使用 返回类型,调用方法可以使用 运算符暂停调用方的完成,直至被调用的异步方法结束。

下例中的 方法不包含 语句,因此该方法会返回 对象。 返回 可等待 。 类型不包含 属性,因为它不具有任何返回值。

 
  

通过使用 await 语句而不是 await 表达式等待 ,类似于返回 void 的同步方法的调用语句。 Await 运算符的应用程序在这种情况下不生成值。 当 的右操作数是 时, 表达式生成的结果为 。 当 的右操作数是 时, 及其操作数是一个语句。

可从 await 运算符的应用程序中分离对 的调用,如以下代码所示。 但是,请记住, 没有 属性,并且当 await 运算符应用于 时不产生值。

以下代码将调用 方法和等待此方法返回的任务分离。

 
  

返回类型用于某种异步方法,此异步方法包含 return 语句,其中操作数是 。

在下面的示例中, 方法包含返回整数的 语句。 该方法声明必须指定 的返回类型。 异步方法是返回 的操作的占位符。

 
  

在 方法中从 await 表达式内调用 时,await 表达式检索存储在由 方法返回的任务中的整数值( 的值)。 有关 await 表达式的详细信息,请参阅 await。

通过从应用程序 中分离对 的调用,可以更好地理解 如何从 检索结果,如以下代码所示。 对非立即等待的方法 的调用返回 ,正如你从方法声明预料的一样。 该任务指派给示例中的 变量。 因为 是 ,所以它包含类型 的 属性。 在这种情况下, 表示整数类型。 应用于 ,await 表达式的计算结果为 的 属性内容。 此值分配给 变量。

 
  

在异步事件处理程序中使用 返回类型,这需要 返回类型。 对于事件处理程序以外的不返回值的方法,应返回 ,因为无法等待返回 的异步方法。 此类方法的任何调用方都必须继续完成,而无需等待调用的异步方法完成。 调用方必须独立于异步方法生成的任何值或异常。

Void 返回异步方法的调用方无法捕获从该方法引发的异常。 此类未经处理异常有可能导致应用程序失败。 如果返回 或 的方法引发异常,则该异常存储在返回的任务中。 等待任务时,将重新引发异常。 请确保可以产生异常的任何异步方法都具有返回类型 或 ,并确保会等待对方法的调用。

以下示例演示异步事件处理程序的行为。 在本示例代码中,异步事件处理程序必须在完成时通知主线程。 然后,主线程可在退出程序之前等待异步事件处理程序完成。

 
  

异步方法可以返回具有返回 awaiter 类型实例的可访问 方法的所有类型。 此外, 方法返回的类型必须具有 特性。 可以通过有关编译器读取的属性的文章或任务类型生成器模式的 C# 规范,了解详细信息。

此功能与 awaitable 表达式相辅相成,后者描述 操作数的要求。 编译器可以使用通用异步返回类型生成返回不同类型的 方法。 通用异步返回类型通过 .NET 库实现性能改进。 和 是引用类型,因此,性能关键路径中的内存分配会对性能产生负面影响,尤其当分配出现在紧凑循环中时。 支持通用返回类型意味着可返回轻量值类型(而不是引用类型),从而避免额外的内存分配。

.NET 提供 结构作为返回任务的通用值的轻量实现。 如下示例使用 结构检索两个骰子的值。

 
  

编写通用异步返回类型是一种高级方案,旨在用于专门的环境。 请考虑改用 、 和 类型,它们适用于大多数的异步代码方案。

在 C# 10 及更高版本中,可以将 属性应用于异步方法(而不是异步返回类型声明),用于替代该类型的生成器。 通常会应用此属性来利用 .NET 运行时中提供的另一种生成器。

异步方法可能返回异步流,由 表示。 异步流提供了一种方法,来枚举在具有重复异步调用的块中生成元素时从流中读取的项。 以下示例显示生成异步流的异步方法:

 
  

前面的示例异步读取字符串中的行。 读取每一行后,代码将枚举字符串中的每个单词。 调用方将使用 语句枚举每个单词。 当需要从源字符串异步读取下一行时,该方法将等待。

  • 在异步任务完成时对其进行处理
  • 使用 Async 和 Await 的异步编程 (C#)
  • async
  • await
到此这篇getcommevent 返回值(getparameter返回值类型)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 查看docker版本(查看docker版本信息的指令)2026-01-17 09:18:09
  • store安卓版下载(store安卓版下载中文)2026-01-17 09:18:09
  • pass around服务(servicepassport)2026-01-17 09:18:09
  • gridmanager兼容性(display:grid 兼容性)2026-01-17 09:18:09
  • list转string 逗号(list转string 逗号隔开)2026-01-17 09:18:09
  • redismanager连接redis(redismanager连接redis集群)2026-01-17 09:18:09
  • pdfviewer旋转快捷键(pdf旋转快捷键ctrl加什么)2026-01-17 09:18:09
  • smore是什么意思中文翻译(sycamore是什么意思中文)2026-01-17 09:18:09
  • druid监控页面(druid监控页面分析)2026-01-17 09:18:09
  • apc和emr的区别(apc和emr哪个更好)2026-01-17 09:18:09
  • 全屏图片