说说c#的命名空间与类名冲突

例1,命名空间Be,与类名Be冲突
	namespace A{
	    namespace Be{}
	}
	与
	namespace A{
	    public class Be{}
	}
例2,类名Be,与类名Be冲突
	namespace A{
	    public class Be{}
	}
	与
	namespace A{//比如这是在另一个程序集
	    public class Be{}
	}
例3,命名空间相同,不会冲突
	namespace A{
	    public namespace Be{}
	}
	namespace A{//比如这是在另一个程序集
	    public namespace Be{}
	}

类名与命名空间不能重名会导致一个问题,
	比如,程序集1,定义了静态方法,A.Be.StaticFun1
	想要在程序集2,定义同命名下的静态方法,就不可能了,,
	就像没办法定义,A.Be.StaticFun2

	这感觉挺不对的
	还有,定义一个静态方法,为什么要去定义一个类,或者空类呢
	静态方法,本身和类就没什么关系,
	本身就应该只是在某一个命名空间下就可以了
	语法上来说挺不顺畅的,,,
	
	没有解决办法,吐槽。。。。

当然,这种应用比较少数,但个人觉得还是挺需要的,
比如,
	程序集已开发为.net2.0,要再做扩展,不要动原来的代码,
	想另起个程序集,为.net4.0的,
	这时发现,静态方法所在的类已被定义了,
	不能再定义相同的类,或命名空间,就不能定义出相同路径下的其他名称的静态方法了
所以,如果有相似的功能需要确另外定义路径,就为了写个静态方法,特意定义了一个类,
	想来感觉把名称分为两种,类名,和命名空间,
	两者不应该冲突
	类名不可以重复
	命名空间就无所谓,
	把静态方法都归到命名空间下,
	这样静态方法就可以在不同程序集的相同命名空间下,进行扩展。。。。
	可以就更好了,


另外,注意到,c#有个扩展方法的写法,只是支持对象的方法扩展,但也不能是类下静态方法的扩展,

  

转载于:https://www.cnblogs.com/ijunxiong/articles/7289349.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值