相关疑难解决方法(0)

方法签名中的新关键字

在执行重构时,我最终创建了一个类似下面示例的方法.为简单起见,数据类型已更改.

我之前有一个这样的赋值语句:

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什么不同?

c# methods keyword

112
推荐指数
5
解决办法
8万
查看次数

在与基类成员具有相同名称的派生类成员中使用new关键字的好处

C#语言规范说如果我继承了一个类,并且基类和派生类具有相同签名的相同命名成员,那么我必须使用该new关键字来隐藏基类成员(使用虚拟还有另一种方法)和覆盖基类和派生类成员中的关键字).

但实际上我发现如果派生类具有相同的命名成员,派生类会自动隐藏派生成员.那么同一个命名派生类成员中的新关键字的主要好处和问题是什么?

c#

14
推荐指数
1
解决办法
2879
查看次数

标签 统计

c# ×2

keyword ×1

methods ×1