c# – 泛型类的泛型集合?

我有一个从数据库中填写的类:

public class Option<T>
{
  public T Value { get; set; }
  public T DefaultValue { get; set; }
  public List<T> AvailableValues { get; set; }
}

我想要一个他们的集合:

List<Option<T>> list = new List<Option<T>>();
Option<bool> TestBool = new Option<bool>();
TestBool.Value = true;
TestBool.DefaultValue = false;
list.Add(TestBool);
Option<int> TestInt = new Option<int>();
TestInt.Value = 1;
TestInt.DefaultValue = 0;
list.Add(TestInt);

它似乎不起作用.想法?

最佳答案
我怀疑你真的想要一个非通用的基类 – 否则在不同的Option< T>之间没有任何共同点.封闭类型.

我理解你要做的是什么,但.NET泛型不允许你表达这种关系.这就像试图从Type到该类型的实例做一个地图……它只是不会飞:(

转载注明原文:c# – 泛型类的泛型集合? - 代码日志