(1)new 运算符 用于创建对象和调用构造函数。
(2)new 修饰符 用于隐藏基类成员的继承成员。
(3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。
MSDN:如果使用 new 来显式隐藏成员,将禁止此警告。
1 public class BaseClass
2 {
3 public void DisplayName()
4 {
5 Console.WriteLine("BaseClass");
6 }
7 }
8
9 public class DerivedClass : BaseClass
10 {
11 public virtual void DisplayName()
12 {
13 Console.WriteLine("DerviedClass");
14 }
15 }
16
17 public class SubDerviedClass : DerivedClass
18 {
19 public override void DisplayName()
20 {
21 Console.WriteLine("SubDerviedClass");
22 }
23 }
24
25 public class SuperDerviedClass : SubDerviedClass
26 {
27 public new void DisplayName()
28 {
29 Console.WriteLine("SuperDerviedClass");
30 }
31 }