Следующий код не будет скомпилирован, поскольку IsOfType не будет использоваться как метод для элемента. В документации говорится:Невозможно использовать IStorageItem для StorageFile
Когда этот метод завершается успешно, она возвращает IStorageItem , представляющее указанный файл или папку. Если указанный файл или папка не найден, этот метод возвращает null вместо повышения исключения .
Чтобы работать с возвращенным элементом, вызовите метод IsOfType интерфейса IStorageItem , чтобы определить, является ли элемент файлом или папкой . Затем переместите элемент в StorageFolder или StorageFile.
private async void RestoreData(string fileName)
{
StorageFolder folder = ApplicationData.Current.LocalFolder;
var item = folder.TryGetItemAsync(fileName);
if (item == null)
{
existingData = false;
}
if (item.IsOfType(StorageItemTypes.File))
{
await ReadDataAsync(item as StorageFile);
existingData = true;
}
existingData = false;
}
Doh. Я заметил, что тип был IAsyncOperation, но я не понимал, что это была подсказка, что ожидания не хватало. –
Robert
Хорошо, что я мог бы помочь. Asyncs - очень важная часть C#, я рекомендую прочитать о них - [страница MSDN] (https://msdn.microsoft.com/en-us/library/mt674882.aspx) охватывает основы. –