[英]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.