Ich habe den folgenden Code, der eine Dateiauswahl in einer Anwendung zeigt:
%Vor% Allerdings verursacht Windows.Storage.StorageFile File = await FilePicker.PickSingleFileAsync()
diesen Fehler während der Kompilierung:
Fehler CS4036 'IAsyncOperation & lt; StorageFile & gt;' enthält kein a Definition für 'GetAwaiter' und keine Erweiterungsmethode 'GetAwaiter' Akzeptieren eines ersten Arguments vom Typ 'IAsyncOperation & lt; StorageFile & gt;' könnte gefunden werden (fehlt dir eine using-Direktive für 'System'?)
Warum passiert das? Ich habe den Code von MSDN bekommen. Könnte mir bitte jemand helfen?
Hinweis: Ich programmiere für Universal Windows.
Sie vermissen den offensichtlichen Verweis auf System
in Ihren Anwendungen.
Warum brauchen Sie diese Referenz und warum beschwert es sich, dass eine scheinbar unbenutzte Methode fehlt?
Mit await
ruft es tatsächlich WindowsRuntimeSystemExtensions.GetAwaiter
auf, eine Erweiterungsmethode über IAsyncOperation
(um auf das TaskAwaiter
zu warten). Da WindowsRuntimeSystemExtensions
im Namespace System
liegt, benötigen Sie using
, um die Erweiterungsmethode zu erhalten.
Tags und Links c# compiler-errors xaml win-universal-app