title: Pull all constructor options recursively?
body: <p>Let's say I have an object containing an object each with one or more constructors:</p>
  <pre><code> Foo(int p1, Bar p2);
   
   Bar(String p3, String p4);
  
   Bar(int p5, int p6);    
  </code></pre>
  <p>And I want to display say in a UI what parameters are required to build a <em>Foo</em>. I think there are three options:</p>
  <pre><code>int p1, Bar p2
  </code></pre>
  <p>Or</p>
  <pre><code>int p1, String p3, String p4
  </code></pre>
  <p>Or</p>
  <pre><code>int p1, int p5, int p6
  </code></pre>
  <p>Obviously, it gets more complex as there are more objects nested. Is there a way to pull all of these options? How about in C#? Bonus points if you can show how to build a <em>Foo</em> dynamically having been given option 2 or 3 above.</p>