title: How to create type of func with specified generic types?
body: <p>I want to create Func type with specified generic type arguments, something like that like, but only with one statement</p>
  
  <pre><code>Type create_type(Type[] types)
  {
     return typeof(Func&lt;&gt;).MakeGenericType(types); // error if types.Length != 1
     return typeof(Func&lt;,&gt;).MakeGenericType(types); // error if types.Length != 2
     return typeof(Func&lt;,,&gt;).MakeGenericType(types); // error if types.Length != 3
     return typeof(Func&lt;,,,&gt;).MakeGenericType(types); // error if types.Length != 4
  // .... 
  }
  </code></pre>
  
  <p>Of course, I can create auxuliary array:</p>
  
  <pre><code>var func_types = new Type[] { typeof(Func&lt;&gt;), typeof(Func&lt;,&gt;) , //...}
  </code></pre>
  
  <p>But this solution seems too ugly for me</p>
  
  <p>Note: array of types can be long (up to 15) and I want to find elegant solution. Unfortunately, I am creating such type from meta data, written in another language</p>