一个很典型的设计问题,真心求解,谢谢

DotCpp DotCpp 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
结构如下:



public class AView
{
public A A;

public virtual void Show(){ //显示A
}
}

public class AViewChild : AView
{
public Achild B;
public override void Show(){ //显示AChild
}
}

public class A
{
}

public class Achild : A
{
}


总感觉这个结构很不爽,但我现在能想到的解决方法只是能下面这种:

public class AView
{
public A A; //只保留这个

public virtual void Show(){ //显示A
}
}

public class AViewChild : AView
{
public override void Show(){
Achild test = A as AChild //强制转为Achild
}
}
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
DotCpp
分析与设计 13,188 成员 5,759 内容