title: Initialize generic object with unknown type
body: <p>How can I initialize a list containing generic objects whose types can be different?</p>
  
  <p>For example, I have the following:</p>
  
  <pre><code>this.Wheres = new List&lt;Where&lt;&gt;&gt;();
  </code></pre>
  
  <p>As you know, &lt;> is not valid syntax. However, sometimes the type passed to Where will be a string and sometimes it will be DateTime, etc. I tried using object as the initialized type, but that doesn't work either.</p>