c# - 最佳实践 : C# Extension methods namespace and promoting extension methods

标签 c# extension-methods

我知道已经存在一个 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/

相关文章:

c# - 如何在 c# Windows 8 中实现自定义转义序列相关的新行?

c# - 错误 Fody : No weavers found. 通过他们的 nuget 包添加所需的编织器

asp.net-mvc - 在我的情况下使用扩展方法是否正确?

c# - 将 C# 链接起来看起来像 jQuery 是一个好主意吗?

c# - 从应用程序域卸载程序集

c# - 尝试读取结果集时遇到 fatal error 。 MySQL 网站

c# - Windows Azure 上每分钟或每秒视频的成本

c# - 为多个类型参数添加类型限制?

asp.net-mvc - 带参数编译的 Lambda 表达式

c# - 扩展方法和接口(interface)