簡體   English   中英

嘗試等待“(等待)Windows.Foundation.IAsyncOperation”時出現語法錯誤

[英]Syntax error when trying to await “(awaitable) Windows.Foundation.IAsyncOperation”

我收到來自Visual Studio的真正令人困惑的錯誤消息,告訴我不能在標記為“(awaitable)”的方法上使用“ await”。 這是完整的消息:

錯誤1“等待”運算符只能在異步方法中使用。 考慮使用'async'修飾符標記此方法並將其返回類型更改為'Task<Windows.Phone.Media.Capture.AudioVideoCaptureDevice>'

這是我的代碼:

    private AudioVideoCaptureDevice SetupController()
    {
        CameraSensorLocation Location = CameraSensorLocation.Back;
        AudioVideoCaptureDevice CameraController = await AudioVideoCaptureDevice.OpenAsync(Location, AudioVideoCaptureDevice.GetAvailableCaptureResolutions(Location).First());

        CameraController.SetProperty(KnownCameraAudioVideoProperties.VideoTorchMode, VideoTorchMode.On);

        return CameraController;
    }

錯誤是與此行:

AudioVideoCaptureDevice CameraController = await AudioVideoCaptureDevice.OpenAsync(Location, AudioVideoCaptureDevice.GetAvailableCaptureResolutions(Location).First());

使用等待時-必須在支持異步操作的方法中使用它。 在返回值時-將其設為Task<>

嘗試使您的方法異步:

private async Task<AudioVideoCaptureDevice> SetupController()
{
  // your code
}

由於它現在是異步的,因此可以使用它:

AudioVideoCaptureDevice myDevice = await SetupController(); // which should also be run from async method

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM