Asynchrone Eigenschaft in c #

In meiner Windows 8-Anwendung gibt es eineglobal Klasse, in der es ein paar statische Eigenschaften gibt, wie:

public class EnvironmentEx
{
     public static User CurrentUser { get; set; }
     //and some other static properties

     //notice this one
     public static StorageFolder AppRootFolder
     {
         get
         {
              return KnownFolders.DocumentsLibrary                    
               .CreateFolderAsync("theApp", CreationCollisionOption.OpenIfExists)
               .GetResults();
         }
     }
}

Sie können sehen, dass ich den Anwendungsstammordner an einer anderen Stelle im Projekt verwenden möchte, sodass ich ihn zu einer statischen Eigenschaft mache. Im Getter muss ich sicherstellen, dass der Stammordner vorhanden ist, andernfalls muss er erstellt werden. Aber dieCreateFolderAsync ist eine asynchrone Methode, hier brauche ich eine synchronisierte Operation. Ich habe es versuchtGetResults() aber es wirft einInvalidOperationException. Was ist die korrekte Implementierung? (Das package.appmanifest ist richtig konfiguriert, der Ordner wird tatsächlich erstellt.)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage