Quel serait le type de retour de la méthode suivante? (T
)Type de données d'arborescence de répertoire?
public T GetDirectoryContentsRecursively (string path) { ... }
La méthode va lire le contenu d'un répertoire distant , et lire le contenu de chaque sous-répertoire et chacun des sous-répertoires de cet objet et ainsi de suite.
J'ai pensé à utiliser List<object>
, où object
pourrait être un autre List<object>
etc ... mais je ne veux pas l'appelant d'avoir à être coulée tout en FileSystemInfo
de chaque fois qu'ils veulent utiliser la méthode.
Chaque fichier doit être un FileInfo
et chaque répertoire un DirectoryInfo
, tous deux héritant de la classe abstraite FileSystemInfo
.
Je n'arrive pas à comprendre quel type de données est le mieux utilisé pour représenter cela.
Des idées? Ai-je besoin de créer mon propre type DirectoryTree
?
Modifier: Les données doivent être extraites d'un serveur, probablement un répertoire par répertoire, une à la fois. Ce que je dois faire est de prendre ces données et de les reconstruire en quelque chose que je peux passer à l'utilisateur. Cela signifie que je ne peux pas simplement passer un DirectoryInfo
, puis appeler son GetFileSystemInfos()
parce que le répertoire n'existera pas sur la machine locale.
Je ne peux pas retourner un 'IEnumerable' parce que je veux transmettre d'autres informations telles que la taille de chaque fichier, quand il a été modifié etc ... Peut-être que vous avez raison avec votre deuxième paragraphe et que je ne fais pas t besoin de cette méthode du tout. J'ai déjà 'public IEnumerable GetDirectoryContents (chemin de chaîne)'. –
Nobody
Je suppose que ce que je pensais c'est qu'une fois que vous avez une liste de chemins de fichiers, vous pouvez utiliser les API 'File' et' Directory' pour rechercher la taille et les informations d'attribut au fur et à mesure que vous en avez besoin. Encore une fois cela dépend du but. – TheCodeKing