Каким будет тип возврата следующего метода? (T
)
public T GetDirectoryContentsRecursively (string path) { ... }
Метод считывает содержимое каталога remote и считывает содержимое каждого подкаталога и каждого из подкаталогов этого объекта и т. Д.
Я думал об использовании List<object>
, где object
может быть другим List<object>
и т. Д. ... но я не хочу, чтобы вызывающий абонент должен был бросать все в FileSystemInfo
s каждый раз, когда он хочет используйте метод.
Каждый файл должен быть FileInfo
, а каждый каталог - DirectoryInfo
, оба они наследуют абстрактный класс FileSystemInfo
.
Я просто не могу понять, какой тип данных лучше всего использовать для представления этого.
Есть идеи? Нужно ли мне делать свой собственный DirectoryTree
тип?
Редактировать: Данные должны быть получены с сервера, возможно, каталог за каталогом, по одному за раз. Что мне нужно сделать, это взять эти данные и преобразовать их в что-то , которое я могу передать пользователю. Это означает, что я не могу просто передать DirectoryInfo
, а затем вызвать его GetFileSystemInfos()
, потому что Каталог не будет существовать на локальном компьютере.