title: C# Func(T) not accepting ref type input parameter
body: <p>Can <code>Func&lt;...&gt;</code> accept arguments passed by reference in C#?</p>
  <pre><code>static void Main()
  {
      Func&lt;string,int, int&gt; method = Work;
      method.BeginInvoke(&quot;test&quot;,0, Done, method);
      // ...
      //
  }
  static int Work(ref string s,int a) { return s.Length; }
  static void Done(IAsyncResult cookie)
  {
      var target = (Func&lt;string, int&gt;)cookie.AsyncState;
      int result = target.EndInvoke(cookie);
      Console.WriteLine(&quot;String length is: &quot; + result);
  }
  </code></pre>
  <p>I am not able define a <code>Func&lt;...&gt;</code> which can accept the <code>ref</code> input parameter.</p>