栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

有什么方法可以调用覆盖方法的父版本?(C#.NET)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

有什么方法可以调用覆盖方法的父版本?(C#.NET)

在IL级别,您可以发出a

call
而不是a
callvirt
来完成工作-但是,如果我们将自己限制为C#;-p( 编辑
darn!运行时将停止您
VerificationException
::“操作可能会使运行时不稳定。”;删除的
virtual
,它工作正常;太聪明了一半…)

ChildClass
类型内部,您可以使用
base.methodTwo()
-但是,这在外部是不可能的。您也不能下降超过一个级别-
没有
base.base.Foo()
支持。

但是,如果使用方法隐藏禁用多态,则可以得到所需的 答案 ,但原因很糟糕:

class ChildClass : ParentClass{    new public int methodTwo() // bad, do not do    {        return 2;    }}

现在,根据变量定义为a

ChildClass
还是a,您可以从同一对象获得不同的答案
ParentClass



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596968.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号