title: Different Generics T in the same collection
body: <pre><code>public abstract Column&lt;T&gt;
  {
     private T Value {get;set;}    
  
     public abstract string Format();
  
  }
  
  public class DateColumn : Column&lt;DateTime&gt;
  {
     public override string Format()
     {
        return Value.ToString("dd-MMM-yyyy");
     }
  }
  
  public class NumberColumn : Column&lt;decimal&gt;
  {
     public override string Format()
     {
        return Value.ToString();
     }
  }
  </code></pre>
  
  <p>The problem I have is adding these into a generic collection. I know its possible but how can I store multiple types in a collection etc </p>
  
  <pre><code>IList&lt;Column&lt;?&gt;&gt; columns = new List&lt;Column&lt;?&gt;()
  </code></pre>
  
  <p>I would really appreciate any advice on achieving this goal. The goal being having different column types stored in the same List. Its worth mentioning I am using NHibernate and the discriminator to load the appropriate object.Ultimately the Value needs to have the type of the class. </p>
  
  <p>Many thanks for your help in advance. </p>