title: How to run a Task on a custom TaskScheduler using await?
body: <p>I have some methods returning <code>Task&lt;T&gt;</code> on which I can <code>await</code> at will. I'd like to have those  Tasks executed on a custom <code>TaskScheduler</code> instead of the default one.</p>
  
  <pre><code>var task = GetTaskAsync ();
  await task;
  </code></pre>
  
  <p>I know I can create a new <code>TaskFactory (new CustomScheduler ())</code> and do a <code>StartNew ()</code> from it, but <code>StartNew ()</code> takes an action and create the <code>Task</code>, and I already have the <code>Task</code> (returned behind the scenes by a <code>TaskCompletionSource</code>)</p>
  
  <p>How can I specify my own <code>TaskScheduler</code> for <code>await</code> ?</p>