首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以在C#中隐藏全局名称空间中的类吗?

我可以在C#中隐藏全局名称空间中的类吗?
EN

Stack Overflow用户
提问于 2010-09-03 03:14:58
回答 1查看 603关注 0票数 0

在visual studio 2008解决方案中,我在两个不同的命名空间中有同一个类的两个版本。

在VB中,如果我这样做:

代码语言:javascript
运行
复制
imports MyNamespace
' ...
dim x as DuplicatedClass = new DuplicatedClass()

它使用MyNamespace.DuplicatedClass而不是全局命名空间的DuplicatedClass。同时,在C#中,执行以下操作:

代码语言:javascript
运行
复制
using MyNamespace;
// ...
DuplicatedClass x = new DuplicatedClass();

使用全局命名空间的DuplicatedClass。要使用另一个版本,我必须使用MyNamespace.DuplicatedClass

我知道这是一个有问题的设置,但我不能改变它。有没有一种方法可以防止C#看到全局命名空间的类,或者专门卸载它,或者...考虑到全局命名空间中有多少个类,每次被迫选择命名空间可能会非常耗时。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-03 03:24:14

也许你能做的最好的事情就是创建一个using别名:

代码语言:javascript
运行
复制
//create alias
using defDuplicatedClass = MyNamespace.DuplicatedClass;

defDuplicatedClass x = new defDuplicatedClass();

别名的范围是文件。因此,您必须根据需要在每个文件的顶部重复它,但这可能比在每次出现DuplicatedClass时重复一个名称空间要好。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3630395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档