具有相同名称的类已经存在
本文关键字:存在 | 更新日期: 2023-09-27 18:28:45
我在.NET C#web应用程序中创建了一个名为"Group"的类。
当我尝试在其他类中访问这个类时,我不会遇到任何问题,但是,在我的代码中的某些点上,当我尝试访问同一个类时,它会在lib下引用一个名为"Group"的不同内置类正则表达式。
我的问题:如何直接指定我正在尝试访问不同的类?如果在不同的库下有两个类。以同样的方式命名,我只会键入X组和Y分组以指定差异,但我不确定需要键入什么才能访问代码中手动创建的类。
编辑:据我所知,我的web应用程序没有命名空间。我使用WebForms来开发我的网站,因此就我而言,没有创建命名空间。
提前谢谢。
我如何直接指定我正在尝试访问不同类别的
你可以:
-
使用完全限定的名称,例如
MyNamespace.Group x = new MyNamespace.Group();
- 避免为
System.Text.RegularExpressions
添加using
指令,除非您真的需要它(可能完全符合使用条件) -
通过
using
指令使用别名:using MyGroup = MyNamespace.Group; ... MyGroup x = new MyGroup();
如果没有名称空间声明,可以只引用global::Group
而不是MyNamespace.Group
。。。但我怀疑你确实有一个命名空间,如果你还没有,我会敦促你创建一个。
针对这个问题的第一层保护是要小心为类型提供这样的通用名称。这是最好的解决方案。
除此之外,你可以做两件事之一:
- 完全限定使用它的类型名称。例如
MyNamespace.Group
- 通过
using
声明一个类型别名。例如using MySpecialGroup = MyNamespace.Group;
您可以使用using
指令:
using Group = X.Group;
var group = new Group(); '' default Group class comes from X namespace;
var group2 = new Y.Group(); '' if you want other class, specify full namespace.
如果你只想在代码中访问你自己的类,你可以用using
关键字为它创建一个别名:
using Group = My.Namespace.Group;
(在类的顶部,除了正常的using指令之外)。
否则,总是可以在代码中使用完全限定的名称
var Group = new My.Namespace.Group;