Właściwość async w c #
W mojej aplikacji Windows 8 jestświatowy klasa, w której istnieje kilka właściwości statycznych, takich jak:
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();
}
}
}
Możesz zobaczyć, że chcę użyć folderu głównego aplikacji gdzieś indziej w projekcie, więc ustawiłem go jako właściwość statyczną. Wewnątrz gettera muszę się upewnić, że folder główny istnieje, w przeciwnym razie utwórz go. AleCreateFolderAsync
jest metodą asynchroniczną, tutaj potrzebuję zsynchronizowanej operacji. próbowałemGetResults()
ale to rzucaInvalidOperationException
. Jaka jest prawidłowa implementacja? (Pakiet package.appmanifest jest poprawnie skonfigurowany, folder jest faktycznie utworzony).