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

c# – 以下是什么新意思?,第1张

概述在界面中,我看到以下内容 public interface ITest : ITestBase { new string Item { get; set; } } 我想知道这里的“新”的意思. 在属性或方法前面的新关键字用于隐藏在不是虚拟的父类中具有相同名称的成员,并被许多(包括我)的不良实践考虑,因为它可能在许多情况下不给你是你期望的结果 一个例子: class 在界面中,我看到以下内容
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# – 以下是什么新意思?全部内容,希望文章能够帮你解决c# – 以下是什么新意思?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1263471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存