|
|
1
12
“new”意味着就CLR而言,您有两个完全不同的方法——它们碰巧有相同的名称,但它们在继承方面是不相关的。这意味着,如果您运行:
这可能会导致一些非常难以理解的代码。 通常,如果你想要不同的方法,就称它们为不同的东西。使用相同名称(和签名)的正常原因是重写基类方法的行为。此时,你别无选择,只能保持姓名/签名不变。 |
|
|
2
3
|
|
|
3
0
这实际上是 不 选择 你有。无论基类是如何创建的,这都是强加给您的。如果存在一个同名的方法,并且它被标记为“virtual”,那么您应该使用override,除非您希望在人们开始将您的类的对象强制转换到基类时出现一些非常有趣的错误。。。
你的新 方法 所以比较它们就像比较汽车,呃。。。 或者别的什么。。。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |