覆盖List
更改类型时是否可能?只要它兼容吗?
示例:的
public class Base
{
public virtual List<Object> SomeList { get; set; }
}
public class Foo : Base
{
public override List<Bar> SomeList { get; set; }
}
如果没有,是否有解决此问题的简单方法?
至于我想做什么:我希望有一个基类,它将作为一个实现(不能是一个接口),用于具有自己属性的客户端和服务器类。客户端和服务器将具有Bar
类的不同版本,因此它们需要拥有自己的列表。
答案 0 :(得分:1)
不,这是不可能的。如果你使用通用属性,那么你想要的就是可行的。
public class Base<T>
{
public List<T> { get; set; }
}
那么你Foo
课就是:
public class Foo : Base<Bar>
{
}
通过这种方式,您派生的类Foo
可以访问类型Bar
的列表,其中
将被声明为它的基类。
答案 1 :(得分:0)
这是不可能的,但根据您想要实现的目标,您可以在示例中使用接口作为List类型。