В мире 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. Прокомментировал ниже)