title: Linq Expression to create instance of Type with optional args?
body: <p>When using Linq Expressions to create instances, the following code works fine to create instances of types with 0 args.</p>
  
  <pre><code>var newExpression = Expression.New(type);
  </code></pre>
  
  <p>However, if the type have optional arguments, that is, every arg is optional so that the type is essentially compatible with new(), then the above code will fail.</p>
  
  <p>So I guess I have to pass expressions for each arg that is optional.
  So how would I get the default value associated with each argument?</p>
  
  <p>How do I get default values from the ParameterInfo for each arg?</p>