在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。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)