最近在项目中使用了扩展方法,但是如何组织这些扩展方法的命名空间呢,是放在一个单独的命名空间中,还是放在类似System这样的命名空间下呢?
到底哪种方式是Best practices 呢,或者有更好的办法?
我的意见是吧扩展方法放在扩展方法的类型空间中,可能这么说不清楚,我打个比方吧
以String的扩展为例:
public static bool IsNullOrEmpty(this string s); 这个是只要有String就会用到的,所以放在System或无命名空间下
public static bool IsValidHTML(this string s); 这个明显只有WEB中会用,因此放到System.Web下……
我一般就是为扩展方法单设一个命名空间,然后把所有扩展方法都扔进去
这样还是很方便的,其中一个好处就是:如果不希望在程序中使用甚至误用扩展方法时,只要别引用这个命名空间即可
楼上的办法也很好,省去了引用声明过程了,这玩意按自己需求来就好