【发布时间】:2014-02-15 22:09:13
【问题描述】:
我从 Visual Studio 收到一条非常令人困惑的错误消息,告诉我不能在标记为“(awaitable)”的方法上使用“await”。这是完整的消息:
错误 1 'await' 运算符只能在异步方法中使用。考虑使用 '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());
【问题讨论】:
-
这并不是告诉你不能使用
awaiton 非async方法;它告诉您不能使用awaitin 非async方法。它在抱怨SetupController,而不是OpenAsync。 -
是的,我现在开始工作了。谢谢!
标签: c# .net windows asynchronous windows-phone-8