在执行重构时,我最终创建了一个如下所示的方法。由于简化起见,数据类型已更改。
之前我有一个类似以下的赋值语句:
MyObject myVar = new MyObject();
这段代码是意外地重构成了这样:
private static new MyObject CreateSomething()
{
return new MyObject{"Something New"};
}
这是由于我在剪切/粘贴时出现了错误,但 private static new
中的 new
关键字是有效的并且可以编译。
问题:方法签名中的 new
关键字表示什么?我猜这是在 C# 3.0 中引入的一些东西吗?
与 override
有何不同?
new
作为修饰符并不是“C# 3.0中引入的新功能”。自C#的第一个版本以来,它就一直存在。 - Jeppe Stig Nielsen