已有类的名称
我在.NET C#web应用程序中创建了一个名为“Group”的类。已有类的名称
当我尝试在其他类中访问此类时,我没有遇到任何麻烦,但是,在我尝试访问同一个类时,在代码中的某些点上,它引用了另一个内置类“ 集团“太低了。 正则表达式。
我的问题:如何直接指定我正在尝试访问不同的类?如果在不同的库下有两个类。以同样的方式命名,我只想输入X。 组和Y。 Group为了指定区别,但我不知道我需要键入什么才能访问我的代码中手动创建的类。
编辑:据我所知,我没有用于我的web应用程序的命名空间。我正在使用WebForms来开发我的网站,因此就我而言,没有创建命名空间。
在此先感谢。
我如何可以直接指定,我试图访问一个不同的类
,你可以:
-
使用完全合格的名称,例如
MyNamespace.Group x = new MyNamespace.Group();
- 避免增加一个
using
指令为System.Text.RegularExpressions
,除非你真的需要它(那不是可能完全合格的用途) -
通过
using
指令使用别名:using MyGroup = MyNamespace.Group; ... MyGroup x = new MyGroup();
如果您没有命名空间声明,则可以参考global::Group
而不是MyNamespace.Group
......但我怀疑你是做有一个命名空间,我会敦促你创建一个,如果你还没有。
请看看我的编辑。 – 2014-10-31 07:59:40
@TommyNaidich:如果你没有命名空间,我会感到非常惊讶 - 如果你现在没有,我强烈建议你*做*。查看代码隐藏以尝试查找名称空间声明。有一个替代方案,我会添加到我的答案。 – 2014-10-31 08:00:52
您提出的“global :: Group”方法对我来说完美无缺。至于第二点 - 我从来不必为我的Web应用程序创建一个名称空间,我也无法看到在此特定项目中做到这一点的真正原因。当我需要访问我的类时,为什么不简单地使用“global :: Group”,而不是为我的类指定一个全新的名称空间,然后更改我的项目中的每条代码行以适应适当的更改? 答案很快就会被接受,谢谢您的输入。 – 2014-10-31 08:05:27
如果你只是想访问的代码你自己的类,你可以为它创建与using
关键字的别名:
using Group = My.Namespace.Group;
(在你的类的顶部,除了正常使用的指令) 。
否则,它总是能够在代码中使用完全合格的名称
var Group = new My.Namespace.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.
请看看我的编辑请。 – 2014-10-31 08:00:48
对这个问题的保护的第一层要小心给你的类型这样的通用名称。这是最好的解决方案。
除非这一点,那么你可以做两件事情之一:
- 完全限定在您使用它的类型名称。例如。
MyNamespace.Group
- 通过
using
声明类型别名。例如。using MySpecialGroup = MyNamespace.Group;
请看看我的编辑。 – 2014-10-31 07:59:55
指定您的班级的全名 - 与所有命名空间 – IVAAAN123 2014-10-31 07:53:09
@ IVAAAN123请阅读帖子编辑。 – 2014-10-31 07:58:55
如果你没有命名空间,那么你应该创建它们 – IVAAAN123 2014-10-31 08:11:16