我知道已经存在一个 post ,描述几乎相同,但我认为我的有点不同。
我想知道的是,您如何根据命名空间的分配来组织您的扩展方法。目前 - 对于我们框架中的扩展方法 - 我使用以下命名空间模式
- MyCompany.Web.Utils
在里面我有扩展方法类。这对我来说很好,缺点是我们的软件开发人员不会立即看到扩展程序。考虑一下我有一个 StringExtender 类的情况,它提供了一个非常方便的 extension method "In"扩展 String
对象。有了带有上述命名空间的扩展方法,我们的程序员将看不到扩展方法,除非他们显式地包含它的命名空间。相反,如果我将扩展方法放在 System
命名空间中,每个人都会立即看到它,但我有 read that this is bad practice .
所以我的问题是您如何推广您的扩展方法 s.t.它们由您的开发人员使用。
最佳答案
我们将它们全部放在自己的命名空间 Company.Common.Extensions
中。这样,如果您拥有我们的任何扩展方法,那么您就拥有了所有这些方法。另外,至少在我的店里,我们不必担心我们的开发人员不知道扩展方法。我有相反的担心,扩展方法重载! :)
关于c# - 最佳实践 : C# Extension methods namespace and promoting extension methods,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1226189/