首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#默认作用域分辨率

C#默认作用域分辨率
EN

Stack Overflow用户
提问于 2008-10-06 13:16:44
回答 5查看 1.3K关注 0票数 6

我继承了一个c#类'Button‘(我不能更改),它与BCL类'Windows.Forms.Button’冲突。通常,我很乐意去:

代码语言:javascript
复制
MyPackage.MyClass.Button;

但是有大量的引用这个类,这是一个痛苦的重新类型。

有没有办法获得编译器(链接器?)默认使用自定义版本的Button而不是BCL版本?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-10-06 13:22:18

将此代码添加到文件的顶部:

代码语言:javascript
复制
using MyButton = MyPackage.MyClass.Button;

现在,您可以使用不同的名称引用您的自定义按钮。如果在同一文件中的任何位置使用股票按钮,则可能需要对该按钮执行类似的操作。

票数 21
EN

Stack Overflow用户

发布于 2008-10-06 13:25:31

如果要在默认情况下使用它,请替换

代码语言:javascript
复制
using Windows.Forms;

使用

代码语言:javascript
复制
using MyPackage.MyClass;

如果这样做,您将需要完全限定Windows.Forms中的所有按钮。

或者,如果需要,可以为名称空间设置别名

代码语言:javascript
复制
using My = MyPackage.MyClass;
//... then
My.Button b = ...

或为按钮添加别名

代码语言:javascript
复制
using MyButton = MyPackage.MyClass.Button;
票数 4
EN

Stack Overflow用户

发布于 2008-10-06 13:20:23

您可以从代码顶部删除using Windows.Forms;。当然,这意味着您必须特别引用所有Windows.Forms项。

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

https://stackoverflow.com/questions/174239

复制
相关文章

相似问题

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