我无法找到有关将代码从.NET 4.5重定向到4.0的信息。我必须在Windows XP上安装此应用程序。
我在.NET 4.5中的代码
public async Task <IXLWorksheet> ImportFile(string fileToImport)
{
...
return await Task.FromResult<IXLWorksheet>(Sheet1)
}
在.NET 4.0方法中,FromResult不存在。 有人知道它应该在.NET 4.0中看起来怎么样?
答案 0 :(得分:2)
您将返回等待结果的结果,该结果是根据结果构建的。解决方案非常简单 - 删除await
:
return Sheet1;
方法声明中的async
关键字将负责将其包装在任务中。
如果由于某种原因,您需要在已完成的任务中手动换行现有值,则可以使用TaskCompletionSource
- 它比Task.FromResult
稍微笨拙,但只是一点点。
答案 1 :(得分:2)
我用 public async Task <IXLWorksheet> ImportFile(string fileToImport)
{
...
TaskCompletionSource<IXLWorksheet> tcs1 = new TaskCompletionSource<IXLWorksheet>();
Task<IXLWorksheet> t1 = tcs1.Task;
tcs1.SetResult(tempFile.Worksheet(1));
return await t1 ;
}
解决了我的问题,这是我的代码:
clickMapItem