C#中“new”的不同用法是什么?

3

能否有人详细解释一下C#中“new”的不同用途(附带示例)。


1
请在标题中省略"C#:",只在标签中保留。另外,请省略"Hi"和"Thanks"。 - John Saunders
2个回答

7

您拥有以下内容:

用于创建对象和调用构造函数

当作为修饰符使用时,new关键字显式隐藏了从基类继承的成员

新约束规定泛型类声明中的任何类型参数必须具有公共无参数构造函数


2
  1. 对象实例化
  2. 匿名类型
  3. 为了表明隐藏了基类的成员。
  4. 作为约束条件

关于第3点 (来自MSDN):

public class BaseC
{
    public int x;
    public void Invoke() { }
}
public class DerivedC : BaseC
{
    new public void Invoke() { }
}

关键字并非必要,但应该用于明确基类构造函数被隐藏的情况。

谢谢您的回答,您能解释一下“new being hidden with explain”是什么意思吗?这对我来说非常有帮助。谢谢,Vijendra。 - Vijjendra
添加了来自MSDN的示例和链接。 - H.B.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接