永发信息网

C#提供的可供重写的方法有哪些,什么资料可以知道这些方法及方法的作用

答案:3  悬赏:0  手机版
解决时间 2021-12-16 11:04
  • 提问者网友:窒息到不能呼吸
  • 2021-12-16 03:00
需要补充一下,不是问什么样的方法可以重写。举几个例子吧
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的方法。
最佳答案
  • 五星知识达人网友:叶落若相随
  • 2021-12-16 04:10
1. 有 virtual 标记的都可以重写。
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关键字吧.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯