【发布时间】:2013-07-17 23:41:45
【问题描述】:
我的班级中有一个 int 类型的成员。
我想用返回此成员的 Task 函数公开该类。
int _someMember;
我知道我能做到:
public int ReturnTheMember() { return _someMember; }
但是我所有的类函数都必须是基于任务的。
是否可以将此调用包装在任务中?类似:
public async Task<int> ReturnTheMember()
{
await Task.FromResult(0);
return _someMember;
}
注意 - 我必须执行 Task.FromResult(0) 因为我将警告视为错误 - 这不会编译,因为签名异步的方法必须包含“等待”。
我想知道这是否是我使用的好模式。或者这样做是错误的。
【问题讨论】:
-
这是一个荒谬的想法。如果结果立即可用,为什么需要它返回
Task<int>? -
@newStackExchangeInstance:可能是为了满足一个接口。
-
这是 SDK,我所有的 SDK 调用都必须是异步的。现在我立即返回它,但一周后我可能会去一些 SQL 数据库并从那里提取 int .. 我不想阻止我亲爱的 sdk 消费者
标签: c# async-await