'Windows.Storage.StorageFile File = Warten FilePicker.PickSingleFileAsync ()' funktioniert nicht [duplizieren]

8

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.

    
Theo 31.12.2015, 12:15
quelle

1 Antwort

24

Sie vermissen den offensichtlichen Verweis auf System in Ihren Anwendungen.

%Vor%

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.

    
Patrick Hofman 31.12.2015, 12:25
quelle