c# – 以下是什么新意思?

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的C#相关文章