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
标志的方法)?
我想知道规范的哪些部分回答了这些问题,所以我将来可以自己回答类似的问题(在问这里之前我确实搜索了很多)。