需要补充一下,不是问什么样的方法可以重写。举几个例子吧
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.Enter)
{
button1.Focus();
}
return base.ProcessDialogKey(keyData);
}这个方法是自带的,重写可以实现按下回车,按钮1就获取了焦点。
再比如protected override void OnPaint(PaintEventArgs e)
//{
base.OnPaint(e);
//}
我想知道的是这类方法,什么资料可以详细的列出他们及他们的功能。
都是傻缺,说的很清楚了。我想知道的是哪些可以被重写的“系统方法”,不是问什么样的方法可以重写……我举得两个例子都是.netframework的方法。
C#提供的可供重写的方法有哪些,什么资料可以知道这些方法及方法的作用
答案:3 悬赏:0 手机版
解决时间 2021-12-16 11:04
- 提问者网友:窒息到不能呼吸
- 2021-12-16 03:00
最佳答案
- 五星知识达人网友:叶落若相随
- 2021-12-16 04:10
1. 有 virtual 标记的都可以重写。
2. 没有你说的这种资料.
3. 想知道哪些方法可以重写,在vs的对象浏览器里面查看,里面有方法,属性等详细的说明。
2. 没有你说的这种资料.
3. 想知道哪些方法可以重写,在vs的对象浏览器里面查看,里面有方法,属性等详细的说明。
全部回答
- 1楼网友:听这一季雨落
- 2021-12-16 06:30
base可以用在抽象中,但不是这么用
你好好看看语法就知道了,里面写的很明白“base 关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。”
所以你使用base调用基类的方法的话,该方法必须是实例方法,抽象方法是不会出现在base.里面的。
- 2楼网友:薄凉旧情人
- 2021-12-16 05:14
只要基类实现了虚方法,派生类都可以重写该虚方法.
既然是重写,那么功能可以完全不一样.
pubic class A
{
public virtual string Say()
{
return "i'm dady";
}
}
public class B:A
{
public override string Say()
{
return "i'm baby";;
}
}
派生类B重写了基类A的Say()方法,
你需要了解的是virtual,override关键字吧.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯