我觉得只需要对命名空间进行管理就好
比如 MyLib.Extensions.Urls空间里面的扩展方法 扩展到string也无所谓
因为你不是工作在密集的url 与字符串之间的上下文中 你压根不会using这个命名空间。

前面的兄弟说这样是个治不了懒的办法。

我觉得只需要我们有一些约束就好了

比如我要扩展的string, 无论在哪个命名空间 我们都把这个静态累起名叫做 public static class StringExtenstions
这样我们要扩展String的时候 只需要打 
StringEntensions
然后按 alt +shift +f10 
vs
就会弹出所有可能的命名空间 让你选择。

不过这样要先防止两个命名空间有完全一样签名的函数。这是一个很严厉的规定哦,

相当于"语焉不明类型不可以做静态函数的第一个参数"一样严厉。

既然静态函数一般是可以根据其所在静态类来进行管理,"语焉不明类型不可以做静态函数的第一个参数"这个规则可以不必执行,
不建议对语焉不明的类型进行特定领域的的扩展。这个严厉规定应该也可以有办法处理吧。
Ivony的目的应该还是要尽可能地避免不必要的污染,也就是说这个我写了一个扩展方法的库,就算有一天,我从做互联网的A公司离职了,到了一个做ERPB公司,我的这些扩展类库一样可以用。

我觉得这个有两个解决办法:
第一,我可以针对基本对象做一层简单的封装,假设说.NET Framework没有Url这个类,那我就写一个
class Url{private string url}
然后这样一样可以避免Helper的泛滥,然后也一样可以实现中缀表达式的目的。

第二,就是说用命名空间来就觉问题,就算我对String做扩展方法,我一样可以把他放到UrlExtension里,这样,只需要引入合适的命名空间,来达到目的。

 


下一篇: 我写一个wb的流程是什么样子的?
上一篇: 学习曲线非常的陡
标签:

欢迎转载,转载时必须以链接形式注明来自 【南京典乐科技】
专业服务:南京网站建设,南京网站制作,南京网站设计,南京网站制作公司
咨询电话:13851941123(7*24小时在线服务)
公司网址:本文地址:http://m.025app.com/news/detail_214.html

 
公司简介 | 联系我们 | 知识中心
Copyright © 南京典乐科技 版权所有
苏ICP备12085975号
首页
咨询电话
联系我们