一尘不染

您发现扩展方法的哪些优势?

c#

C#的“非信奉者”在问我扩展方法的目的是什么。我解释说,然后您可以向已定义的对象添加新方法,尤其是当您不拥有/控制原始对象的源时。

他提出了“为什么不只是在自己的类中添加方法呢?”
我们一直在走(很好的方式)。我的一般回答是它是工具带中的另一个工具,而他的回答是这是对工具的无用浪费……但是我认为我会得到一个更“开明”的答案。

在哪些情况下使用了扩展方法而又没有(或不应该)使用扩展方法添加到自己的类中?


阅读 216

收藏
2020-05-19

共1个答案

一尘不染

我认为扩展方法在编写代码时有很大帮助,如果您将扩展方法添加到基本类型中,则可以在智能感知中快速获得它们。

我有一个格式提供程序来格式化文件大小。要使用它,我需要写:

Console.WriteLine(String.Format(new FileSizeFormatProvider(), "{0:fs}", fileSize));

创建一个扩展方法,我可以编写:

Console.WriteLine(fileSize.ToFileSize());

更干净,更简单。

2020-05-19