title: Using async await inside void method
body: <p>I have method with signature I cannot change. It should be</p>
  
  <pre><code>protected override void OnInitialize()
  </code></pre>
  
  <p>Using Windows 8 Metro API I need to check if file exists and read it, inside this NoSignatureChange method.
  Using PlainOldCSharp, I would write something like</p>
  
  <pre><code>protected override void OnInitialize()
  {
    ...
    try
    {
      var file = folder.OpenFile(fileName);
      fileExists=true;
    }
    catch(FileNotFoundException)
    {
      fileExists=false
    }
  }
  </code></pre>
  
  <p>Remember, in <a href="https://stackoverflow.com/questions/8626018/how-to-check-if-file-exists-in-metro">Windows 8 API only way to check if file exists is handling FileNotFoundException</a>
  Also, in Windows 8 API all FileIO API is async, so I have only file.OpenFileAsync method.</p>
  
  <p>So, the question is: <strong>How should I write this code using folder.OpenFileAsync method in Windows 8 API without changing signature of containing method</strong></p>