为了账号安全,请及时绑定邮箱和手机立即绑定

C# 修饰符new

C# 修饰符new

C#
千万里不及你 2018-08-14 10:09:27
class BaseClass{    public void Method1()     {         Console.WriteLine("Base - Method1");         Method2();     }    public virtual void Method2()     {         Console.WriteLine("Base - Method2");     } }class DerivedClass : BaseClass{    public new void Method2()     {         Console.WriteLine("Derived - Method2");     } }DerivedClass dc = new DerivedClass();dc.Method1();结果为Base - Method1 Base - Method2请问为什么得到的结果不是Base - Method1 Derived - Method2?new不是会隐藏基类的成员吗?
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

只是隐藏,还是会调用的啦,又没消失,你要想用子类的方法实现就去掉new,通过override关键字进行重写即可。


查看完整回答
反对 回复 2018-09-14
  • 1 回答
  • 0 关注
  • 633 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信