我正在使用async / await加载XML文件,但是无法计算出如何从Task.Run返回值“ xe”。如何从下面的代码所示的任务中返回该值?
try
{
Exception exceptionOut = null;
await Task.Run(() =>
{
//inside
try
{
XElement xe = XElement.Load(filePath);
}
catch (Exception exceptionIn)
{
exceptionOut = exceptionIn;
}
});
if (exceptionOut != null)
{
throw exceptionOut;
}
}
catch (Exception ex)
{
//show the error
MessageBox.Show(ex.Message);
}
答案 0 :(得分:3)
我想这就是你想要的:
try
{
XElement xe = await Task.Run(() =>
{
return XElement.Load(filePath);
});
}
catch (Exception ex)
{
//show the error
MessageBox.Show(ex.Message);
}