在基类型" virtual"中声明方法然后使用" override"关键字在子类型中覆盖它而不是new在声明子类型中的匹配方法时简单地使用" "关键字之间有什么区别?
在执行重构时,我最终创建了一个类似下面示例的方法.为简单起见,数据类型已更改.
我之前有一个这样的赋值语句:
MyObject myVar = new MyObject();
Run Code Online (Sandbox Code Playgroud)
它是偶然重构的:
private static new MyObject CreateSomething()
{
return new MyObject{"Something New"};
}
Run Code Online (Sandbox Code Playgroud)
这是我的剪切/粘贴错误的结果,但new关键字in private static new有效并编译.
问题:new关键字在方法签名中表示什么?我假设它是在C#3.0中引入的东西?
这有override什么不同?