title: Task.Run with Parameter(s)?
body: <p>I'm working on a multi-tasking network project and I'm new on <code>Threading.Tasks</code>. I implemented a simple <code>Task.Factory.StartNew()</code> and I wonder how can I do it with <code>Task.Run()</code>?</p>
  
  <p>Here is the basic code:</p>
  
  <pre><code>Task.Factory.StartNew(new Action&lt;object&gt;(
  (x) =&gt;
  {
      // Do something with 'x'
  }), rawData);
  </code></pre>
  
  <p>I looked into <code>System.Threading.Tasks.Task</code> in <em>Object Browser</em> and I couldn't find a <code>Action&lt;T&gt;</code> like parameter. There is only <code>Action</code> that takes <code>void</code> parameter and no <em>type</em>.</p>
  
  <p>There are only 2 things similiar: <code>static Task Run(Action action)</code> and <code>static Task Run(Func&lt;Task&gt; function)</code> but can't post parameter(s) with both.</p>
  
  <p>Yes, I know I can create a simple extension method for it but <strong>my main question is can we write it on single line</strong> with <code>Task.Run()</code>?</p>