我知道已经存在一个post https://stackoverflow.com/questions/1051066/naming-conventions-for-extension-method-namespaces-and-sponsor-classes,描述几乎相同,但我认为我的有点不同。
我想知道的是您如何在分配命名空间方面组织扩展方法。目前 - 对于我们框架中的扩展方法 - 我使用以下命名空间模式
在里面我有扩展方法类。这对我来说很好,缺点是我们的软件开发人员无法立即看到扩展程序。考虑一下我有一个 StringExtender 类的情况,它提供了一个非常方便的扩展方法“In” http://blog.js-development.com/2008/12/using-extenders-to-abstract-details-and.html这延伸了String
目的。拥有具有上述命名空间的扩展方法,我们的程序员将不会看到扩展方法,除非他们显式包含其命名空间。相反,如果我将扩展方法放在System
命名空间,每个人都会立即看到它,但我已经读到这是不好的做法 https://stackoverflow.com/questions/321921/is-it-ok-to-write-my-own-extension-methods-in-the-system-namespace.
所以我的问题是你如何推广你的扩展方法。它们由您的开发人员使用。
我们将它们全部放在自己的命名空间中Company.Common.Extensions
。这样,如果您有我们的任何扩展方法,您就拥有了它们。另外,至少在我的店里,我们不必担心我们的开发人员不了解扩展方法。我有相反的担忧,扩展方法过载! :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)