Хотя часто удобно думать в терминах «пространств имен» и «подпространств имен», в действительности существуют только имена типов.
В этом случае существует единственный тип: System.IO.FileInfo
Директива using позволяет компилятору добавлять System.
к любому типу, чтобы увидеть, находит ли он совпадающее имя типа.Однако он не найдет IO.FileInfo
, поскольку будет искать тип IO
, содержащий вложенный тип FileInfo
.
Способ разработки языка может показаться более громоздким, но этоустраняет путаницу имен вложенных типов и имен пространств имен, поскольку она ищет только типы в пространствах имен, определенных в директивах using.Это уменьшает вероятность коллизий именования типов.