厄,问题看似简单,但是实际上做起来挺麻烦的.求一个好一点的处理方案
问题:首先我需要一个 窗体类作为基类,例如我想实现一个"对话窗"基类,含有确认取消等按钮,然后我的一系列对话窗由此类继承.
这是个简单的行为,对吧!但是因为某种需求,我必须在基类中使用抽象方法,所以基类也必须是抽象的现在,问题出现了~~~在窗体设计器中,所有的派生类都无法设计了(别告诉我把所有控件都用手工方式写上去啊)
问题出现的原因:
因为抽象类无法实例化,而IDE环境是通过内部实例化程序集到缓存的方式来呈现窗体设计器界面的,在实例化派生类前,无法事先实例化基类,于是设计器就不可用了(当然,代码编译通过运行成功是没问题的)
我的解决方法:
做一个接口(暂时叫做A吧),把需要抽象的方法加进去.基类(暂时叫做B)继承自A,派生类(暂时叫做a,b,c,d)继承自B
麻烦之处在于,B中必须实现那些抽象方法(即,无法强制要求由派生类来实现),而实际上需求需要这些方法在a,b,c,d中做多态实现求一个好一点的处理方案
优秀答案可再加分