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