相关疑难解决方法(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关键字,为什么要隐藏而不是覆盖默认行为?

我正在看这篇博文,并有以下问题:

  • 为什么我们需要new关键字,只是指定隐藏基类方法.我的意思是,为什么我们需要它?如果我们不使用override关键字,是不是我们隐藏了基类方法?
  • 为什么隐藏C#中的默认值而不是覆盖?为什么设计师会这样实现它?

c# overriding

79
推荐指数
4
解决办法
2万
查看次数

标签 统计

c# ×2

keyword ×1

methods ×1

overriding ×1