Пространства имен в C # по сравнению с импортом в Java и Python

В мире Java и Python вы смотрите на исходный файл и знаете, откуда происходит весь импорт (т.е. вы знаете, в каком файле определены импортированные классы). Например:

В Java:

import javafoo.Bar;

public class MyClass {
    private Bar myBar = new Bar();
}

Вы сразу видите, что класс Bar импортирован из javafoo. Итак, Bar объявлен в /javafoo/Bar.java

В Python

import pythonbaz
from pythonfoo import Bar

my_bar = Bar()
my_other = pythonbaz.Other()

Здесь 1) Как узнать, где объявлен Bar-класс? Это происходит из пространства имен foo , или bar , или другого пространства имен ? (редактировать: без с использованием Visual Studio)

2) В Java имена пакетов соответствуют именам каталогов (или это очень строгое соглашение). Таким образом, когда вы видите, из какого пакета взят класс, вы знаете его каталог в файловой системе.

В C #, похоже, нет такого соглашения для пространств имен, или я что-то упускаю? Итак, как мне узнать, в каком каталоге и файле искать (без Visual Studio)? (после выяснения, из какого пространства имен пришел класс).

Отредактируйте пояснение : Я знаю, что Python и / или Java разрешают импорт подстановочных знаков, но «культура» в этих языках не одобряет их (по крайней мере, в Python , в Java I ' м не уверен). Кроме того, в Java IDE обычно помогает создать минимальный импорт (как Mchl. Прокомментировал ниже)

11
задан Martin S. 22 September 2010 в 09:46
поделиться