我继承了一个c#类'Button'(我无法改变),它与BCL类'Windows.Forms.Button'冲突。通常,我很乐意去:
MyPackage.MyClass.Button;
但是这个类有很多或者引用,这是一个很难重新输入的问题。
有没有办法让编译器(链接器?)默认使用BCL版本的Button自定义版本?
答案 0 :(得分:21)
将其添加到文件顶部:
using MyButton = MyPackage.MyClass.Button;
现在,您可以使用不同的名称来引用自定义按钮。如果您在同一个文件中的任何位置使用它,则可能需要对库存按钮执行类似的操作。
答案 1 :(得分:4)
如果您想在默认情况下使用它,请替换
using Windows.Forms;
带
using MyPackage.MyClass;
如果你这样做,你需要完全限定Windows.Forms中的所有按钮。
或者,如果您愿意,可以为命名空间添加别名
using My = MyPackage.MyClass;
//... then
My.Button b = ...
或别名按钮
using MyButton = MyPackage.MyClass.Button;
答案 2 :(得分:2)
您可以从代码顶部删除using Windows.Forms;
。这当然意味着您必须专门引用所有Windows.Forms项目。
答案 3 :(得分:0)
使用“使用”,你至少可以减少痛苦/冗长:
using MPMC = MyPackage.MyClass;
然后你可以说:
MPMC.Button
答案 4 :(得分:0)
看来我可以做到以下几点:
using Button = MyPackage.MyClass.Button;
工作,它将代码中的所有引用保留为Button。虽然我试图不要走这条路,因为它仍然是模糊的(至少对于读者来说)正在使用哪个Button。