本文介绍了“新"效果如何?关键字在C#中具有,为什么不使用时仅发出警告?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
考虑以下代码:
public abstract class Test1
{
public object Data { get; set; }
}
public abstract class Test2<T> : Test1
{
public T Data { get; set; }
}
这将产生以下警告:
为什么这只是一个警告,添加"new"关键字会有什么效果?
Why is this only a warning and what effect will adding the "new" keyword have?
根据我的测试,添加"new"关键字后,我找不到任何区别.
According to my testing I cannot find any difference once the "new" keyword is added.
不要误会我的意思,我全都是坦率的,但是我对添加"new"的好处感到好奇.
Don't get me wrong, I'm all for being explicit, but I was curious as to the benefit of adding "new".
我对此的唯一想法是:
- 提高了人类可读性
- 在运行时节省了一些费用,因为没有留下编译器来解决不可避免的问题
推荐答案
new
关键字的唯一作用是删除警告.在不使用new
关键字时得到警告的目的是防止您在真正打算覆盖该方法时意外遮蔽该方法.
The only effect the new
keyword has is to remove the warning. The purpose of getting the warning when not using the new
keyword is to prevent you from accidentally shadowing the method when you really meant to override it.
这篇关于“新"效果如何?关键字在C#中具有,为什么不使用时仅发出警告?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!