当涉及到扩展方法时,类名似乎什么也没做,但是提供了 namespace 所做的分组。包含 namespace 后,我便获得了该 namespace 中的所有扩展方法。所以我的问题归结为:从静态类中的扩展方法可以得到一些值(value)吗?

我意识到将它们放入静态类是编译器的要求,但是从组织的角度来看,允许扩展方法在 namespace 中定义而无需使用类将它们定义为合法是合理的。用另一种方式改写上面的问题:作为开发人员,在某些情况下,将扩展方法附加到类上还是将扩展方法附加到 namespace 上,对我有什么实际的好处或帮助?

我基本上只是想获得一些直觉,确认或见解-我怀疑这样做可能最容易实现扩展方法,并且不值得花时间让扩展方法以自己的名义存在-空格。

最佳答案

也许您会在Eric Lippert的博客文章Why Doesn't C# Implement "Top Level" Methods?(反过来由SO问题Why C# is not allowing non-member functions like C++提示)中找到满意的答案,从何而来(我的重点):

关于c# - 扩展方法是从静态类的一部分,还是(从理论上)成为 namespace 的一部分,以任何实际的方式受益吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10340860/

10-12 18:26