C#中new的两种用法"public new"和"new public"
而在变量上 new要写在public前面,方法上 new写在public 后面 。
1、public new
public new void Method2()
{
Console.WriteLine("Derived - Method2");
}
当基类和派生类都有Method2()时,派生类的对象会调用派生类的Method2()方法,而屏蔽基类的方法,不过编译器会warning;
当在派生类方法定义时,在修饰符public加上new,显式地屏蔽基类方法,此时编译器将不会报warning。
2、new public
new public class NestedC
{
public int x = 100;
public int y;
public int z;
}
嵌套类隐藏了基类中同名的类。使用 new
修饰符来消除警告消息。