title: Create a completed Task<T>
body: <p>I'm implementing a method <code>Task&lt;Result&gt; StartSomeTask()</code> and happen to know the result already before the method is called. How do I create a <a href="http://msdn.microsoft.com/en-us/library/dd321424.aspx" rel="noreferrer">Task&lt;T&gt;</a> that has  already completed?</p>
  
  <p>This is what I'm currently doing:</p>
  
  <pre><code>private readonly Result theResult = new Result();
  
  public override Task&lt;Result&gt; StartSomeTask()
  {
      var task = new Task&lt;Result&gt;(() =&gt; theResult);
      task.RunSynchronously(CurrentThreadTaskScheduler.CurrentThread);
      return task;
  }
  </code></pre>
  
  <p>Is there a better solution?</p>