c# - 从 C# 中的异步方法更正匿名对象任务的返回类型

标签 c# asynchronous task

C# 中返回匿名对象的异步方法的最佳/正确返回类型是什么?我的方法通过 Entity Framework 选择一些数据。我最好的猜测是:

public async Task<object> GetStuff() {
  abClass ret = await DoSomethingAsync();
  return new { Param1 = ret.a, Param2 = ret.b };
}

但是 Task 实际上是最好的方法吗,或者是否有一些 Task 或类似的东西?

最佳答案

首先,您不应该从公共(public)方法返回匿名对象。

要么返回一个Tuple正如@Krzysztof Skowronek 所建议的,或者更好的是定义一个类型并返回这个类型的一个实例:

public async Task<YourClass> GetStuff()
{
    abClass ret = await DoSomethingAsync();
    return new YourClass { Param1 = ret.a, Param2 = ret.b };
}

您所在类(class)的任何消费者都应该感谢您这样做。

关于c# - 从 C# 中的异步方法更正匿名对象任务的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56952575/

相关文章:

javascript - 如何从异步调用返回响应?

asynchronous - 如何有条件地退还不同类型的 future ?

django - celery 击败: crontab executed same task TWICE (interval 10min)

c# - C#解析执行JS

c# - 如何知道每个查询是否在循环中成功执行?

javascript - redis 命令的异步执行

c# - 从 LINQ 的 Any 方法返回 Task<bool>?

c# - 嵌套多个 Task.WhenAll 和将所有任务扁平化为一个 Task.WhenAll 之间有区别吗?

c# - 从 AuthenticationHandler 返回自定义对象

c# - 获取 Sharepoint 列表中的第一个和最后一个 ListItem