【发布时间】:2018-07-11 22:23:15
【问题描述】:
我有一个由Foo 继承的抽象基类FooBase。我还有另一个抽象基类BarBase 由Bar 继承。 BarBase 包含一个抽象的 FooBase 属性。在Bar 中,我想将FooBase 属性设置为Foo。为什么不允许这样做?这是一个需要重新考虑的疯狂设计,还是可以通过某种方式完成?
public abstract class FooBase
{
}
public class Foo : FooBase
{
}
public abstract class BarBase
{
public abstract FooBase Foo { get; set; }
}
public class Bar : BarBase
{
public override Foo Foo { get; set; }
}
【问题讨论】:
-
使用泛型,就像帕特里克的回答所展示的那样
标签: c# inheritance