摘要:
如题,在子类中重载(overload)父类的方法会给你类的客户分不清同样的方法名在运行时到底运行的是哪个类的方法,而且对于C#4.0前后版本的逆变协变支持的不同,你的重载(对于带范型参数的方法)也会有截然相反的结果,所以还是尽量不要再子类中重载父类中的方法。
首先,要分清orverload和override两个单词的中文解释。
overload为重载即表示方法通过参数个数、参数类型的不同对同名方法的另一逻辑实现,等于创建了一个新的同名方法,与原有方法并存。
override为覆写,顾名思义就是覆盖掉父类同名方法,形参列表是与父类一致的。 阅读全文
随笔档案-2011年7月18日
Effective C# 学习笔记(三十三) 只在更新基类时,使用new关键字
2011-07-18 12:44 by 小郝(Kaibo Hao), 312 阅读, 收藏,
摘要:
对于new关键字在修饰方法的使用我们要小心,因为它并不是像看上去那样会把父类nonVirtual的方法,转为virtual方法。 阅读全文
浙公网安备 33010602011771号