C# new override
A -> virtual Fun
B : A -> override Fun
C : B -> override Fun
D : C -> new virtual Fun
E : D -> override Fun
E e;
A = e -> C.Fun
B = e -> C.Fun
C = e -> C.Fun
D = e -> E.Fun
Rule: 如A=e,则假设调用A.Fun,发现被B override, 再到B, 发现被C override, 继续到D,发现被NEW隐藏,故此用C
PS -> 对于E构造,顺序为 A->B>C>D>E..如果没有显示的指定调用哪个构造函数(:base(...)), 则每个基类至少有一个子类能访问的无参构造函数,如果一个构造函数都没有,则系统会自动创建一个。