我有一个像这样定义的泛型类:
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.
我的想法是拥有一个强类型值(不使用对象)的值列表,然后能够使用泛型推断它们的类型.
那是因为a StationProperty<T>不是StationProperty.他们唯一的共同点是名字.也许一个应该来自另一个?
public class StationProperty<T>:StationProperty{}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36 次 |
| 最近记录: |