通用 lambda 表达式

本文关键字:表达式 lambda 通用 | 更新日期: 2023-09-27 18:34:17

我有问题:我完全不知道我称之为这种方法:

public static Task<TResult> Run<TResult>(
    Func<Task<TResult>> function
)

如果您没有我知道我可以这样做的通用参数:

Task.Run( () => { Task.Delay(10000) });

你能告诉我我怎么做,为什么吗?

问候!

通用 lambda 表达式

您不知道如何调用泛型和异步方法?TResult 是一个占位符。使用时,您需要将 TResult 替换为实际类。此外,记住等待结果非常重要。

var myResultVar = await Task.Run<MyResult> (() => MyFunctionWhichReturns() );
public MyResult MyFunctionWhichReturns()
{
   return new MyResult();
}

您正在调用Task.Run方法的另一个重载:

public static Task Run(Func<Task> function)

链接的 MSDN 页面中提供了所有重载的概述。