关于基类中用NEW声明了的虚函数的继承的问题,解答者高分酬谢。

maskzha 2005-07-05 05:58:40
在c#中基类函数中的一个函数为
如基类 BaseClass 中有一函数声明如下:
public virtual new event XXX(string aa,int bb) 如何在子类中继承他?

MyClass 从 BaseClass 继承而来,那么在 MyClass 中如何继承他?



...全文
143 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdami 2005-07-06
  • 打赏
  • 举报
回复
我觉得你这里的new用法都有问题。

"C# 技术内幕"这本书中有说得比较详细的new用法。
maskzha 2005-07-06
  • 打赏
  • 举报
回复
XXX有virtual关键字.你能帮我写出来吗?
iGray 2005-07-06
  • 打赏
  • 举报
回复
晕,事件是个数据成员。继承就有了啊,
你所说要重写事件响应的方法吧,
public override void XXX(string aa,int bb) 明显错误?
首先确定,XXX有没有virtual关键字

你还可以,用自定义的函数重新预定那个事件。
iGray 2005-07-06
  • 打赏
  • 举报
回复
new 主要用来shadow(隐藏)基类的方法。
maskzha 2005-07-06
  • 打赏
  • 举报
回复
简单的说就是在子类中继承public virtual new event XXX(string aa,int bb) 是怎样写的?

public override void XXX(string aa,int bb) 明显错误。请教继承的事件如何写?
iGray 2005-07-06
  • 打赏
  • 举报
回复
可以继承,可以override

当用new后,表示,该方法不要vtable(虚表)中出现,也就是对于该类的new方法,无法多态,只要转形成BaseClass后,调用的就是BaseClass的new方法。
maskzha 2005-07-06
  • 打赏
  • 举报
回复
具体怎么写呢?如何重写?
请写出具体写法。
gdami 2005-07-05
  • 打赏
  • 举报
回复
基类中为什么用new啊。 又不隐藏什么东西。 奇怪。
多余的吧。
JasonHeung 2005-07-05
  • 打赏
  • 举报
回复
fancyf(凡瑞) ( ) 信誉:116 2005-07-05 19:17:00 得分: 0


没问题,可以直接继承,就像其它的成员一样,子类中可以用base.XXX来调用父类的XXX,也可以在子类中用override重写这个XXX


楼上的信誉值很高!竖个大拇指赞一下!!!
fanruinet 2005-07-05
  • 打赏
  • 举报
回复
没问题,可以直接继承,就像其它的成员一样,子类中可以用base.XXX来调用父类的XXX,也可以在子类中用override重写这个XXX

110,566

社区成员

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

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

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