关于继承的一个问题

zhaoyycit 2012-07-26 05:49:12
各位大虾,求解一个疑问
winform中做了一个父窗口,里面有个按钮,给出点击事件。事件不需要在父窗口实现,所以调用了一个虚方法,用于子窗口中重写。
现在我想问一下,如何在子窗口类创建时,就可以自动重写出这个虚方法?
当然,如果不用虚方法,用接口或者抽象类能够实现这样的功能的实现方法也可以不吝指教

例如:父窗口中有方法TestShow()
public virtual void TestShow()
{

}

在子窗口创建时,自动在类中创建下面的代码
public override void TestShow()
{
base.TestShow();
}

求解决方案哦~~
...全文
194 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
乐于分享 2012-07-27
  • 打赏
  • 举报
回复
各位大侠分析的比较确切小菜来学习一下
zhaoyycit 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

直接输入override ,语法提示就可以帮你列出所有可以重写的方法。
对于visual方法,继承的时候没必要写一遍,只有必须重写的时候才写出来。
[/Quote]
这个是知道的 就是方法比较多需要一个一个的去override
并且方法太多 开发人员不一定知道需要实现哪些方法
每次都需要到父窗体中查看代码是一件很头疼的事
zhaoyycit 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

不支持,完全没必要,图省事可能会给你带了意向不到的后果
[/Quote]
只要是这些方法在子窗体的必须实现的
所以才出此下策,情非得已啊
并不是完全图省事
zhaoyycit 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

没必要啊,如果子窗体需要的话自然会重写,不需要的话根本不应该重写,多此一举。
如果一定需要重写,那就声明abstract
[/Quote]
form窗体类是不能定义为抽象的。。。
bdmh 2012-07-27
  • 打赏
  • 举报
回复
不支持,完全没必要,图省事可能会给你带了意向不到的后果
qldsrx 2012-07-27
  • 打赏
  • 举报
回复
直接输入override ,语法提示就可以帮你列出所有可以重写的方法。
对于visual方法,继承的时候没必要写一遍,只有必须重写的时候才写出来。
cheng2005 2012-07-27
  • 打赏
  • 举报
回复
没必要啊,如果子窗体需要的话自然会重写,不需要的话根本不应该重写,多此一举。
如果一定需要重写,那就声明abstract
zhaoyycit 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

这个涉及到开发环境的开发问题。你可以建一个模板。在VS2010新建窗体时,多出你这个模板的选项。然后点新建自动跟你生成相应的代码。

我现在的做法都很笨,是直接手写的。
[/Quote]
通过窗体的赋值粘贴,容易产生错误
其实无非是想让开发来的更加方便简单
哈哈 偷懒了偷懒了
zhaoyycit 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

这个涉及到开发环境的开发问题。你可以建一个模板。在VS2010新建窗体时,多出你这个模板的选项。然后点新建自动跟你生成相应的代码。

我现在的做法都很笨,是直接手写的。
[/Quote]
就是比较做法比较笨的,需要手动去生成这些方法
我之前有看到有公司是通过自己开发的工具去生成窗体的类,这个办法倒是也可行的
看来也确实没有什么有效的办法啊
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

没必要啊,如果子窗体需要的话自然会重写,不需要的话根本不应该重写,多此一举。
如果一定需要重写,那就声明abstract
[/Quote]

本身是事件的话,那就让子类自己去实现这个事件的处理方法
bwangel 2012-07-26
  • 打赏
  • 举报
回复
这个涉及到开发环境的开发问题。你可以建一个模板。在VS2010新建窗体时,多出你这个模板的选项。然后点新建自动跟你生成相应的代码。

我现在的做法都很笨,是直接手写的。
zhaoyycit 2012-07-26
  • 打赏
  • 举报
回复
为了方便以后开发人员可以一目了然需要实现哪些方法,所以想直接在子窗口中将需要实现的方法都创建好,开发人员需要做的只要去实现方法内容即可,求大虾们解救~~

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧