私の Windows 8 アプリケーションには、次のようないくつかの静的プロパティがあるグローバルクラスがあります。
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();
}
}
}
プロジェクトの別の場所でアプリケーション ルート フォルダーを使用したいので、それを静的プロパティにします。ゲッター内で、ルート フォルダーが存在することを確認する必要があります。存在しない場合は作成します。しかし、これCreateFolderAsync
は非同期メソッドです。ここでは同期操作が必要です。試しGetResults()
ましたが、InvalidOperationException
. 正しい実装は何ですか? (package.appmanifest が正しく構成され、フォルダーが実際に作成されます。)