如何声明通用异步任务

本文关键字:异步 任务 声明 何声明 | 更新日期: 2023-09-27 18:33:37

>我有以下方法:

public async Task<List<Product>> GetProductsAsync()

这很好,返回产品列表。

但是我想使这个通用 - 类似于...

public async Task<List<T>> GetAsync()

但是我正在为语法而苦苦挣扎,如果有人能指出我正确的方向,我将不胜感激。

谢谢

如何声明通用异步任务

几乎在那里:

public async Task<List<T>> GetAsync<T>()

创建返回任务的泛型方法与创建返回其他任何内容的泛型方法没有什么不同:

public async Task<List<T>> GetStuffAsync<T>() {
    ...
}

您需要提供一个泛型类型参数T以使语法正常工作。通常,尽管您可能希望其他东西在方法中生成该列表,例如

public async Task<List<T>> GetStuffAsync<T>(Func<T> gen) {
    ...
}