C# 名称空间问题

C# 名称空间问题,c#,asp.net,web-applications,namespaces,C#,Asp.net,Web Applications,Namespaces,我正在使用.NET 3.5开发ASP.NET web应用程序,遇到以下问题: 我正在使用命名空间X.Web.Controls.Core下的一个类,该类引用命名空间X.X2.components.util中的类Utils 我得到一个错误,即Utils已在命名空间X.Web.Controls.Utils 这应该是不可能的,因为我无法从我正在处理的类中找到任何引用该命名空间的内容。有什么想法吗?我真的看不出有什么问题,除非你有一个语句在某处引用它。请注意,命名空间中的代码将隐式地“看到”同一命名空间中

我正在使用.NET 3.5开发ASP.NET web应用程序,遇到以下问题:

我正在使用命名空间
X.Web.Controls.Core
下的一个类,该类引用命名空间
X.X2.components.util
中的类
Utils

我得到一个错误,即
Utils
已在命名空间
X.Web.Controls.Utils

这应该是不可能的,因为我无法从我正在处理的类中找到任何引用该命名空间的内容。有什么想法吗?

我真的看不出有什么问题,除非你有一个
语句在某处引用它。请注意,命名空间中的代码将隐式地“看到”同一命名空间中的类,即使它们是在别处定义的

无论如何,您可以通过更改类名(仅适用于当前代码文件)来解决问题:

该类将在代码中命名为
X2Utils
。或者,您可以为其命名空间创建快捷方式:

using X2util = X.X2.components.util;

现在,您可以使用
X2util.Utils

引用该类,您正在使用X.Web.Controls.Core,它是X.Web.Controls的子名称空间。这意味着X.Web.Controls中的名称空间Utils是隐式可见的


使用Blix建议的别名解决问题。

能否提供编译器错误消息?谢谢您的回复。实际上,我有几百个类,我必须通过这些类添加别名。我认为,考虑到大量的类,我会尝试将Utils类重命名为与任何名称空间都不冲突的类(如“Util”)。您也可以别名名称空间,但我明白您的观点。是的,我同意你应该为你的班级使用不同的名字。“Util”是一个非常宽泛的名称,并没有比“AClass”更具描述性。。。
using X2util = X.X2.components.util;