this.Close() 和 base.Close() 的区别是什么? 谁能讲解一下?我不是钻牛角尖,我是基础知识欠缺,麻烦告诉下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 this是自身,base父类,要看具体情况 按书上的内容写了好多代码,从来没用过Base类今天看别人的代码写的很简洁,也看到了base.Close这种调用方法所以想了解下那么哪种情况下要用到 base.Close() 呢? 比如有两个classclass A;class B;A里面有一个方法close();B里也有一个方法close();B继承A你在B里面写this.close()表示你调用了B里面的close()base.close()表示你调用了A里面的close()够清楚的吧.慢慢试试. this相当于自己的指针base相当于父类的指针一般只需要对自己操作就行了。如果是你自己写的类,继承了别的类,就会用到base了 关键就是看有没有重写过,如果没有重写过,那this与base调用的都是父类的方法: static void Main(string[] args) { Parent p1 = new Child1(); Parent p2 = new Child2(); p1.Display(); Console.WriteLine(); p2.Display(); } abstract class Parent { protected virtual void Show() { Console.WriteLine("Parent"); } public abstract void Display(); } class Child1 : Parent { public override void Display() { this.Show(); base.Show(); } } class Child2 : Parent { protected override void Show() { Console.WriteLine("Child2"); } public override void Display() { this.Show(); base.Show(); } } 至于那种情况下要用,具体看你要实现哪种功能啊一般来说,既然是继承自父类的方法,而自己又进行了重写的话,实例化之后自然是希望用子类的close方法了,没必要使用父类的close方法吧。。 这问题一点也不钻牛角尖,纯粹是基础知识欠缺...去看MSDN,学会学习...this(C# 参考)base(C# 参考) WinForm中怎样做一个类似于QQ设置中的网络设置下的HTTP代理 【寻求帮助】关于文件加密/解密问题 问一个事物的问题 递归的执行步骤?高手进来帮帮忙 初学者的烦恼,关于serialport timer panel三者。winform编程 teechart问题 通过SMTP协议发送邮件,怎么实现CC和BCC? 我该怎么选择?请各位发表看法! acess数据导入到sql DataTable如何删除某一行之后的行 ajax的ModalPopupExtender控件问题, 从msdn怎么找哪些异常信息
今天看别人的代码写的很简洁,也看到了base.Close这种调用方法
所以想了解下那么哪种情况下要用到 base.Close() 呢?
class B;A里面有一个方法close();
B里也有一个方法close();
B继承A你在B里面写
this.close()表示你调用了B里面的close()
base.close()表示你调用了A里面的close()
够清楚的吧.慢慢试试.
base相当于父类的指针
一般只需要对自己操作就行了。
如果是你自己写的类,继承了别的类,就会用到base了
{
Parent p1 = new Child1();
Parent p2 = new Child2();
p1.Display();
Console.WriteLine();
p2.Display();
} abstract class Parent
{
protected virtual void Show()
{
Console.WriteLine("Parent");
} public abstract void Display();
} class Child1 : Parent
{
public override void Display()
{
this.Show();
base.Show();
}
} class Child2 : Parent
{
protected override void Show()
{
Console.WriteLine("Child2");
} public override void Display()
{
this.Show();
base.Show();
}
}