具有相同名称的类已经存在

时间:2014-10-31 07:51:05

标签: c# asp.net

我创建了一个名为" "的课程。在我的.NET C#web-application中。

当我尝试在其他类中访问此类时,我没有遇到任何麻烦,但是,当我尝试访问同一个类时,在我的代码中的某些点,它引用了一个名为&#的不同的内置类34;的"在lib下面也是如此。 正则表达式

我的问题:如何直接指定我尝试访问其他类?如果在不同的库下有2个类。以同样的方式命名,我只需键入 X Y 以指定差异,但我不确定我需要输入什么才能在我的代码中访问我手动创建的类。

编辑:据我所知,我的网络应用程序没有命名空间。我正在使用WebForms来开发我的网站,因此就我而言,没有创建名称空间。

提前致谢。

4 个答案:

答案 0 :(得分:1)

针对此问题的第一层保护措施是要小心为您的类型提供此类通用名称。这是最好的解决方案。

除此之外,你可以做以下两件事之一:

  • 完全限定您使用它的类型名称。例如。 MyNamespace.Group
  • 通过using声明类型别名。例如。 using MySpecialGroup = MyNamespace.Group;

答案 1 :(得分:1)

  

如何直接指定我尝试访问其他类

你可以:

  • 使用完全限定名称,例如

    MyNamespace.Group x = new MyNamespace.Group();
    
  • 避免为using添加System.Text.RegularExpressions指令,除非您真的需要它(可能完全符合条件的使用)
  • 通过using指令使用别名:

    using MyGroup = MyNamespace.Group;
    ...
    MyGroup x = new MyGroup();
    

如果您没有名称空间声明,则可以引用global::Group而不是MyNamespace.Group ...但我怀疑您有一个名称空间,并且如果你还没有,我会敦促你创建一个。

答案 2 :(得分:0)

如果您只想在代码中访问自己的类,可以使用using关键字为其创建别名:

using Group = My.Namespace.Group;

(在你的课程顶部,除了正常的使用指令)。

否则,始终可以在代码中使用完全限定名称

var Group = new My.Namespace.Group;

答案 3 :(得分:0)

您可以使用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.