前端之家收集整理的这篇文章主要介绍了
c# – 以下是什么新意思?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在界面中,我看到以下
内容
public interface ITest : ITestBase
{
new string Item { get; set; }
}
我想知道这里的“新”的意思.
在
属性或
方法前面的新关键字用于隐藏在不是虚拟的
父类中具有相同
名称的成员,并被许多(
包括我)的不良实践考虑,因为它可能在许多情况下不给你是你期望的结果
一个例子:
class A{
public int Test(){ return 1; }
}
class B : A{
public new int Test(){ return 2; }
}
B b = new B();
Console.WriteLine( b.Test() );
A b2 = new B();
Console.WriteLine( b2.Test() );
这将分别打印2和1,并且令人困惑,因为两个对象实际上都是类型B.
原文链接:https://www.f2er.com/csharp/91467.html