title: Task.Factory.StartNew with multiple parameters
body: <p>I'm trying to refactor some code to achieve more throughput through parallelism.  I did all the base refactoring to where I had my minimalist single call that would be thread-safe.  My method takes multiple parameters:</p>
  
  <pre><code>private Domain ImportDomain(ConstructorInfo domainConstructor,
                              string[] domainAttributes, DateTime importDate)
  {
      ...
  }
  </code></pre>
  
  <p>I have working code which iterates calls to this method, simply as such:</p>
  
  <pre><code>ImportDomain(myConstructor, myAttributes, myDate);
  </code></pre>
  
  <p>All works totally fine before I try adding in parallelism.</p>
  
  <p>I thought I would simply be able to do this:</p>
  
  <pre><code>Task&lt;Domain&gt;.Factory.StartNew(() =&gt;
      ImportDomain(myConstructor, myAttributes, myDate)
  );
  </code></pre>
  
  <p>and add a catch block to handle any AggregateException which might be thrown.</p>
  
  <p>However, what I found was that <code>ImportDomain()</code> was never called with this code, although the <code>StartNew()</code> line was executing.  I have a feeling this may be due to my relative inexperience with lambda expressions, but I'm also seeing that all examples using <code>StartNew()</code> either use delegates, or pass a single param.</p>
  
  <p>What is the simplest solution to making my multi-parameter call compatible with <code>Task.Factory.StartNew()</code>?</p>