virtual在 CIL 中,在继承(隐藏和覆盖)方面缺少标志的虚拟方法的行为是什么?我搜索了ECMA335,但找不到预期行为的确切描述。
例如,让我们有基类A和子类B。
- 如果
A包含M带有标志的方法virtual,并且B包含M不带标志的方法virtual,将B.M隐藏A.M还是覆盖它? - 如果
A包含一个M带有标志的方法virtual,并且B包含一个M带有.override A.M标志但没有标志的方法virtual,那么是virtual隐含的,B.M仅在此处是“虚拟的”(但是,B.M不能在 的子类中被覆盖B)或者这种构造只是非法的(即.override必须有virtual标志的方法)?
我想知道规范的哪些部分回答了这些问题,所以我将来可以自己回答类似的问题(在问这里之前我确实搜索了很多)。