当我没有放置命名空间时,我的类有什么命名空间?

如果我没有在我的类中添加命名空间(vs.net 2008),哪个命名空间可以构建我的类?

更新它很奇怪,当我添加一个命名空间时,我似乎无法从我的用户控件引用类方法。

如果我明确设置一个命名空间,并在我的控件中添加一个’using …’,我仍然看不到它!

怎么会这样?

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Configuration; ///  /// Summary description for Globals ///  public class Globals { public Globals() { } public static string ConnectionString { get { return ConfigurationManager.ConnectionStrings["MyDb"].ConnectionString; } } } 

我的控制:

 using System; using System.Data; using System.Data.SqlClient; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class MyStats : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { //etc. 

如果您不提供命名空间,那么您的类型没有命名空间。 请记住,命名空间在编译后没有任何意义。 它们只是附加到您键入名称的开头,以创建一个更有可能是唯一的更长名称。

编辑:我认为你可能有两个独立的程序集,一个应该引用另一个,但事实并非如此。 如果两个项目在一个解决方案中,那么类查看器将显示所有项目中的所有类型,但这并不一定意味着ProjectA引用了ProjectB 。 要在ProjectA使用ProjectB中的类型,您需要确保存在项目引用。

如你所说,该类将没有任何名称空间,它将在没有using子句的情况下可访问。

命名空间是一种function,通过分类,主要根据它们的function来对您的类进行排序

编辑

根据你的更新,我认为你的“全局”类可能会因为global :: clause而引起麻烦…你是否想改变类的名称只是为了看它是否有效?