Почему я не могу написать IO.Directory.GetFiles?
Я родом из VB.Net
среда, в которой используется Imports System
а потом IO.Directory.GetFiles(...)
работает.
С другой стороны, кажется, что using System;
не достаточно, чтобы написать использование IO.Directory
без префикса с System.
, Единственный обходной путь, кажется,
using IO = System.IO;
Зачем?
Пример кода:
using System;
using System.IO;
namespace Test {
class Program {
static void Main(string[] args) {
System.Console.WriteLine(IO.Directory.GetFiles(System.Environment.CurrentDirectory)[0]);
}
}
}
Редактировать: мой вопрос не в том, что я должен сделать, чтобы мой код работал, а в частности, "почему я не могу написать IO.Directory.GetFiles
??"
2 ответа
Добавлять
используя System.IO;
и у вас будет поведение, которое вы ожидаете. C# не делает дочерние пространства имен доступными без директивы using (или полной квалификации).
То, о чем вы говорите, невозможно в C#, поскольку это может быть разницей между C# и vb.NET.
Если вы конвертируете код vb.Net в C#, то использование этого сайта поможет вам
Код для вас
System.IO.Directory.GetFiles(...)
или добавить
using System.IO;
сделаю для тебя