C#中异步方法匿名对象任务的正确返回类型

And*_*elt 2 c# asynchronous task

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

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

但是 Task 实际上是做到这一点的最佳方法,还是有一些 Task 或类似的东西?

mm8*_*mm8 5

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

要么按照@Krzysztof Skowronek 的建议返回一个元组,要么更好地定义一个类型并返回这个类型的一个实例:

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

您班级的任何消费者都应该感谢您这样做。