Task with Action Delegate accepting string parameter
<p>I have just started with parallel programming. I want to create an action delegate method that print a message on console. When I chenge <code>Action&lt;string&gt;</code> to <code>Action&lt;object&gt;</code> and <code>PritMessage</code> parameter to to object its work but with '<code>string</code> compiler throws an error.</p>

<blockquote>
  <p>The best overloaded method match for
  'System.Threading.Tasks.Task.Task(System.Action, object)'.<br>
  Argument 1: cannot convert from 'System.Action&lt;string&gt;' to
  'System.Action&lt;object&gt;'</p>
</blockquote>

<pre><code>static void Main(string[] args)
{
    string message = "test";
    Action&lt;string&gt; print = PrintMessage;
    Task task = new Task(print, message); 
    task.Start();
    Console.ReadKey();
}

static void PrintMessage(string message)
{
    Console.WriteLine(message);
}
</code></pre>