|
|
1
22
根据框架设计指南(第二版): 不要将扩展方法与扩展类型放在同一名称空间中,除非它用于向接口添加方法或用于依赖关系管理。
为了使用扩展方法,必须导入包含发起类(定义扩展方法的类)的命名空间。如果将扩展方法添加到标准的.NET Framework命名空间之一,它们将始终(隐式)可用。 |
|
|
2
14
|
|
3
4
例如,我们做了很多工作
另一方面,我们也做了大量的反射工作,在
因此,对于内部API,决策可以归结为“我是否希望此方法在代码库中的任何类型可用的地方都可用?”。如果答案是肯定的,那么将其放在同一名称空间中,否则将其放在其他地方。 |
|
|
4
3
我认为真正的问题不在于将它们放在哪里或命名为什么(系统或任何其他名称空间),而是要保持一致并始终使用相同的名称来避免问题(忘记它们在哪里)。 |
|
5
0
我将扩展方法放在名称空间中,这取决于我希望它们具有的可见性。这样,它们更容易发现,而且我通常会得到更少的名称空间导入。 |