C# 如何等待一个iSyncaction方法?
我正在尝试使用C# 如何等待一个iSyncaction方法?,c#,asynchronous,async-await,uwp,C#,Asynchronous,Async Await,Uwp,我正在尝试使用iasyncation方法,但在等待时,我收到一个错误,提示: “等待操作只能在异步lambda函数中使用” 有人能帮助找到返回不返回任何内容的异步函数的正确格式吗 IAsyncAction ICameraHelper.startCameraPreview(CaptureElement PreviewControl) { try { return Task.Run(() => { await Initia
iasyncation
方法,但在等待时,我收到一个错误,提示:
“等待操作只能在异步lambda函数中使用”
有人能帮助找到返回不返回任何内容的异步函数的正确格式吗
IAsyncAction ICameraHelper.startCameraPreview(CaptureElement PreviewControl)
{
try
{
return Task.Run(() =>
{
await InitializeCameraAsync(PreviewControl);
RegisterEventHandlers();
}).AsAsyncAction();
}
catch (Exception ex)
{
throw ex;
}
}
请尝试以下方法:
async IAsyncAction ICameraHelper.startCameraPreview(CaptureElement PreviewControl)
{
await InitializeCameraAsync(PreviewControl);
RegisterEventHandlers();
}
无需尝试将
InitializeCameraAsync
传递到.Task.Run
方法中。不清楚您要做什么。错误消息中给出了最接近的原因。您正在同步lambda中执行wait
。您必须使用异步lambda:async()=>{…}
。但这是否是您想要的还不清楚。Task.Run(async()=>
yadda