类一般分为结构类(或者结构体),模块入口(XXCenter, XXManager)。
而和命名空间名称冲突的总是结构类,因为我结构类都用最简单命名(Point, Element)。我看C#的System.Draw模块,那假设他用System.Bitmap, System.Graphics不就冲突了吗,绘画方面的单词比较多,而对于一些可选单词比较少的模块,很容易就重名冲突了。
应该都遇到过重名的情况,是绞尽脑汁想另一个单词,还是有更好的方法?
可以重名的,没必要为这个纠结。假设某个类同时存在于命名空间A和B中,那么一般情况下不会同时usingA和B,即使同时云感到了,可以使用别名:
using A = Company.Project.Module.A; using B = Company.Antoher.XXX.B; A.SomeClass a = new A.SomeClass();
唯一要注意的是“类名不要和命名空间名字一样”。其他无所谓的。
你的说法怎么前后矛盾?
你开头说,可以重名。
结尾又强调,类名和命名空间名字一样。
你是来搞笑的吗?
@ChuckLu: 因为这个人一开始问的是“命名空间之间的重名问题”,我开始回答了“可以重名”。后来他应该是编辑过问题,问了“类名和命名空间重名问题”,我刚好之前的答案也提到了“类名不要和命名空间名字一样”,也就是说不要这么做。我这么说你明白了吗?
好方法。