我有2个班级,两个都被称为相同的“产品”,1个班级是我的,另一个班级属于其他人。
我在代码中遇到编译错误,因为看起来有些代码试图使用“my”类中的Product而不是“他们的”。
我通过在使用该类的行上添加名称空间来临时修复此问题。
我有他们班级的“使用”。
那么解决这个问题的方法是什么,留下我的前缀或重新排序命名空间......应该先来吗?
我想这给了我另一个问题......如果我解决了这个问题,我需要引用我的课程,那么我将需要加上前缀。
任何建议解决这个问题的最佳方法都会非常有帮助。
答案 0 :(得分:8)
例如,您可以明确声明。
var myProduct = new MyCompany.MyLibrary.Product();
var otherProduct = new OtherCompany.OtherLibrary.Product();
您甚至可以使用following:
using myNS = MyCompany.MyLibrary;
...
var myProduct = new myNS.Product();
答案 1 :(得分:1)
您也可以使用namespace alias指令。
using myProduct = SomeNameSpace.My;
using thierProduct = SomeNameSpace.Thier;
答案 2 :(得分:0)
您可以在不使用名称空间的情况下完全限定类:
namespace.Product product = new namespace.Product();
答案 3 :(得分:0)
如果命名空间和类完全相同,则必须为其中一个命名别名。如果名称空间不同,则另一种选择是使用类的完整路径。
答案 4 :(得分:0)
只需使用Using Direvctive
答案 5 :(得分:0)
usings
声明后声明两个(或者一个:只是碰撞的声明)
/*in the usings*/
using MyProduct = MyCompanyNamespace.Product;
using TheirProduct =TheirCompany.Product;
/*some where in the code*/
var myProduct = new MyProduct();
var theirProduct = new TheirProduct();