【发布时间】:2012-09-26 11:10:01
【问题描述】:
为什么第二种情况会抛出异常?
async void f() {
await media.InitializeAsync();
isInit = true;
capturePreview.Source = media;
await media.StartPreviewAsync(); // Ok
}
// ------------------------------------------
void f() {
StaticClass.g(capturePreview.Source);
}
public static class StaticClass {
public static async void g(MediaSource source) {
await media.InitializeAsync();
isInit = true;
source = media;
await media.StartPreviewAsync(); // Unknown Exception (It's seems that media isn't init)
}
}
【问题讨论】:
-
您能否在此处也包含您的源代码(链接会随着时间的推移而消失,但如果您添加您的代码,它将继续存在,以供后代敬畏)。
-
您是否在主 UI 线程上运行这些方法?
-
嗯..是的..我从 MainPage.xaml.cs 中的受保护覆盖 void OnNavigatedTo(NavigationEventArgs e) 运行它们
标签: c# windows-8 microsoft-metro c#-5.0