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

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

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

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


犯罪嫌疑人X
浏览 344回答 3
3回答

www说

我认为扩展方法在编写代码时有很大帮助,如果您将扩展方法添加到基本类型中,则可以在智能感知中快速获得它们。我有一个格式提供程序来格式化文件大小。要使用它,我需要写:Console.WriteLine(String.Format(new FileSizeFormatProvider(), "{0:fs}", fileSize));创建一个扩展方法,我可以编写:Console.WriteLine(fileSize.ToFileSize());更干净,更简单。

慕桂英4014372

不要忘记工具!当在类型Foo上添加扩展方法M时,您将在Foo的智能感知列表中获得“ M”(假设扩展类在作用域内)。这使得'M'比MyClass.M(Foo,...)更容易找到。归根结底,这只是其他静态方法的语法糖,但就像买房一样:“位置,位置,位置!” 如果它挂在类型上,人们会发现它!
打开App,查看更多内容
随时随地看视频慕课网APP