首页 新闻 会员 周边

命名空间冲突问题

0
悬赏园豆:5 [已解决问题] 解决于 2012-09-16 10:33

一个dll文件 和 项目

dll内部定义了一个命名空间,跟项目的命名空间一样。
而且同样的命名空间下还有几个同样类名的类型,内部实现不同。

 

现在编译冲突,如何解决呢?

问题补充:

项目已经写了很多了,命名空间类名引用错综复杂。dll要用,项目要写,期待高招

姜小牙的主页 姜小牙 | 菜鸟二级 | 园豆:248
提问于:2012-09-14 17:27
< >
分享
最佳答案
-1

VS有“重构”功能,你可以选中你要修改的命名空间,选择重构-重命名。

收获园豆:5
Launcher | 高人七级 |园豆:45045 | 2012-09-14 17:33

这个功能确实不错,可惜我只有项目的部分代码,这样做是否要将整个项目命名空间修改呢?

只在发生冲突的类里,有解决办法么?

姜小牙 | 园豆:248 (菜鸟二级) | 2012-09-14 17:39

@_刘宏伟_: 修改命名空间的话就是整个项目,你可以重构类的名字。同时。重构的时候还有个预览,可以选择不应用,当然会比较麻烦。

Launcher | 园豆:45045 (高人七级) | 2012-09-14 17:46
其他回答(1)
2

问题已处理

http://topic.csdn.net/u/20120914/17/d3945629-9441-4b7e-93e3-14395f4fc8e0.html?1093228795

处理方法摘要:
1、被引用的dll》属性》别名,默认是global,自己定义一个。(重名为pis)
2、在使用该dll的类中,使用extern alias 别名
3、再使用using简化命名空间引用,例如:

extern alias pis;
using pislib = pis.a.b.c;

将类中无法找到类型的使用pislib.。。。方式修改,ok,蛋疼的问题处理了。

姜小牙 | 园豆:248 (菜鸟二级) | 2012-09-16 10:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册