Использование асинхронного ожидания внутри метода void

У меня есть метод с подписью, который я не могу изменить. Должно быть

protected override void OnInitialize()

Используя Windows 8 Metro API, мне нужно проверить, существует ли файл, и прочитать его внутри этого метода NoSignatureChange. Используя PlainOldCSharp, я бы написал что-то вроде

protected override void OnInitialize()
{
 ...
  try
  {
    var file = folder.OpenFile(fileName);
    fileExists=true;
  }
  catch(FileNotFoundException)
  {
    fileExists=false
  }
}

Помните, что в Windows 8 API единственным способом проверить существование файла является обработка FileNotFoundException Кроме того, в API Windows 8 все API FileIO являются асинхронными, поэтому у меня есть только метод file.OpenFileAsync.

Итак, вопрос:Как мне написать этот код, используя метод folder.OpenFileAsync в Windows 8 API без изменения подписи содержащего метода

9
задан Community 23 May 2017 в 12:09
поделиться