gpt4 book ai didi

c# - 覆盖扩展方法

转载 作者:IT王子 更新时间:2023-10-29 04:24:30 26 4
gpt4 key购买 nike

我一直在考虑使用扩展方法来替代抽象基类。扩展方法可以提供默认功能,并且可以通过在派生类中放置具有相同签名的方法来“覆盖”。

我有什么理由不应该这样做?

此外,如果我有两个具有相同签名的扩展方法,我会使用哪一个?有确定优先级的方法吗?

最佳答案

通常,您不应通过扩展方法提供“基本”功能。它们应该只用于“扩展”类功能。如果您有权访问基类代码,并且您尝试实现的功能在逻辑上是继承层次结构的一部分,那么您应该将其放在抽象类中。

我的意思是,仅仅因为您可以并不意味着您应该。当普通的旧式 OO 编程无法为您提供合理的解决方案时,通常最好坚持使用良好的老式 OOP 并使用较新的语言功能。

关于c# - 覆盖扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/474074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com