我希望根据异步方法的结果返回一个枚举。
public enum ReponseType
{
Success,
Error
}
以下是返回响应类型的方法:
public async Task<ReponseType> MethodThatDoesStuff()
{
await Task.Run(() =>
{
//Doing stuff here
return ResponseType.Success;
});
return ReponseType.Error;
}
当我调用此方法时,我无法访问该值的内容:
var resp = await _writer.MethodThatDoesStuff();
即使我使用:
ResponseType resp = await _writer.MethodThatDoesStuff();
我仍然无法获得枚举值。
resp。[intellisense]只给我GetType(),GetTypeCode(),CompareTo()等......
如果我只想知道它是成功还是错误,返回这样的枚举是不是没有问题/效率?
最好的方法是什么?
由于
答案 0 :(得分:2)
返回枚举完全没问题。但是,在这种情况下,您的值始终为Error,因为您没有从Run中返回值。您应该执行以下操作:
String
使用此功能,你应该可以这样调用方法
public Task<ReponseType> MethodThatDoesStuff()
{
return Task.Run(() =>
{
//Doing stuff here
return ReponseType.Success;
});
}