当我没有放置命名空间时,我的类有什么命名空间?
如果我没有在我的类中添加命名空间(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而引起麻烦…你是否想改变类的名称只是为了看它是否有效?