В каком пространстве имен находятся мои классы, если я не помещаю пространство имен?

если я не помещаю пространство имен в свои классы (vs.net 2008), в каком пространстве имен строятся мои классы?

update Странно, когда я добавляю пространство имен, я не могу ссылаться на методы классов из своего пользовательского элемента управления.

Если я явно установлю пространство имен и добавлю в свой элемент управления «использование ...», я все равно его не увижу!

Как это может быть?

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
/// <summary>
/// Summary description for Globals
/// </summary>
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.

person Blankman    schedule 03.04.2009    source источник
comment
Ваш класс находится в отдельном проекте от пользовательского элемента управления или они находятся в одном проекте?   -  person Andrew Hare    schedule 03.04.2009
comment
Также вы можете опубликовать код - это может помочь нам понять, что происходит.   -  person Andrew Hare    schedule 03.04.2009
comment
Хорошо, я разместил некоторый код, раньше у меня было пространство имен в классе глобальных переменных, но оно все еще не работало, когда я ссылался на него в своем элементе управления.   -  person Blankman    schedule 04.04.2009
comment
У вас вообще есть ошибки компиляции?   -  person Andrew Hare    schedule 04.04.2009
comment
Итак, если вы используете тип, как если бы работал intellisense, он отлично компилируется? Это только intellisense кажется сломанным?   -  person Andrew Hare    schedule 04.04.2009
comment
никакая ссылка не сработала, переименование не сработало.   -  person Blankman    schedule 04.04.2009
comment
Эти два типа в отдельных сборках?   -  person Andrew Hare    schedule 04.04.2009
comment
Однако он отображается в моем представлении класса, и при перетаскивании свойства/метода на мою страницу он говорит: «имя globalz не существует в этом контексте».   -  person Blankman    schedule 04.04.2009
comment
А они в отдельных сборках?   -  person Andrew Hare    schedule 04.04.2009
comment
Пожалуйста, смотрите редактирование моего исходного ответа.   -  person Andrew Hare    schedule 04.04.2009


Ответы (2)


Если вы не укажете пространство имен, то у вашего типа нет пространства имен. Помните, что пространства имен не имеют никакого значения после компиляции. Они просто добавляются к началу имени вашего типа, чтобы создать более длинное имя, которое с большей вероятностью будет уникальным.

Редактировать: я думаю, что у вас могут быть две отдельные сборки, и одна должна ссылаться на другую, но это не так. Если два проекта находятся в одном решении, средство просмотра классов покажет все типы из всех проектов, но это не обязательно означает, что ProjectA ссылается на ProjectB. Чтобы использовать типы из ProjectB в ProjectA, вам необходимо убедиться, что существует ссылка на проект.

person Andrew Hare    schedule 03.04.2009
comment
...тогда ваш тип не имеет пространства имен Не совсем так, они помещаются в глобальное пространство имен msdn.microsoft.com/en-gb/library/z2kcy19k.aspx - person weston; 11.08.2014

как вы сказали, у этого класса не будет никакого пространства имен, он будет доступен без использования предложения.

Пространства имен — это функция для упорядочивания ваших классов путем классификации, в основном в соответствии с их функциональностью.

ИЗМЕНИТЬ

Согласно вашему обновлению, я думаю, что ваш «глобальный» класс может создавать проблемы из-за предложения global:: ... не могли бы вы изменить имя класса, просто чтобы посмотреть, работает ли он?

person Jhonny D. Cano -Leftware-    schedule 03.04.2009