同一个列表中的许多泛型类型?

JL.*_*JL. -1 c#

我有一个像这样定义的泛型类:

public abstract class StationProperty{}

   public class StationProperty<T>
   {
      public int Id { get; set; }
      public T Value { get; set; }
   }
Run Code Online (Sandbox Code Playgroud)

然后我有一个如下所示的列表:

var props = new List<StationProperty>();
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都那么好,除非我尝试将一个项目添加到列表中,如下所示:

var prop = new StationProperty<bool>(39, true);
// var prop = new StationProperty<int>(39, 100); another example
props.Add(prop);
Run Code Online (Sandbox Code Playgroud)

它会引发设计时错误:参数类型<bool>不能分配给参数类型X.

我的想法是拥有一个强类型值(不使用对象)的值列表,然后能够使用泛型推断它们的类型.

spe*_*der 5

那是因为a StationProperty<T>不是StationProperty.他们唯一的共同点是名字.也许一个应该来自另一个?

public class StationProperty<T>:StationProperty{}
Run Code Online (Sandbox Code Playgroud)