c# - 接口(interface)扩展 - 基类或扩展方法

标签 c#

我阅读了有关使用扩展方法向接口(interface)添加方法的信息,但是我也在考虑为什么不从包含虚拟方法的接口(interface)派生基类(当然,如果您从一开始就可以灵活地进行设计) .如果需要,使用基类也可以增加覆盖的灵 active 。

最佳答案

两者各有优势。

基类:

  • 您可以在私有(private)字段中存储状态
  • 如有必要,可以在子类中覆盖这些方法。
  • 实现在一个地方,而不是分散在(可能)许多扩展方法类中。

扩展方法:

  • 不要求您的接口(interface)实现者继承给定的基类。由于 C# 不支持多重继承,因此这可能是一个重要问题。
  • 不需要访问类的源代码。

关于c# - 接口(interface)扩展 - 基类或扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40149858/

相关文章:

C# 构造函数事件

javascript - 在 C# 中上传时在图像上添加日期

c# - 删除重复行

c# - ReportViewer 和辅助功能

c# - 使用 AutoMapper 和 DI 容器实例化类型

c# - 如何将纯文本命令发送到在具有脚本引擎的 win7 上运行的 c# 类?

c# - 空白通用 Windows 应用程序和控制台应用程序之间的区别

C# ListViewItemCollection 不包含 Count 的定义

c# - 查找表达式 C# 中存在的数值

javascript - 作用域键如何用于写入? (作用域写 key 返回 401 未经授权。)