Simplify some Folder logic

This commit is contained in:
Matt Nadareski
2025-01-06 10:33:13 -05:00
parent 3d3d22b5d3
commit 770536fbd7

View File

@@ -225,30 +225,24 @@ namespace SabreTools.FileTypes
if (Filename == null) if (Filename == null)
return null; return null;
if (_children == null || _children.Count == 0) // If we already have children
{ if (_children != null && _children.Count > 0)
return _children;
// Build the child item list
_children = []; _children = [];
#if NET20 || NET35 foreach (string file in IOExtensions.SafeEnumerateFiles(Filename, "*", SearchOption.TopDirectoryOnly))
foreach (string file in Directory.GetFiles(Filename, "*"))
#else
foreach (string file in Directory.EnumerateFiles(Filename, "*", SearchOption.TopDirectoryOnly))
#endif
{ {
BaseFile? nf = FileTypeTool.GetInfo(file, _hashTypes); BaseFile? nf = FileTypeTool.GetInfo(file, _hashTypes);
if (nf != null) if (nf != null)
_children.Add(nf); _children.Add(nf);
} }
#if NET20 || NET35 foreach (string dir in IOExtensions.SafeEnumerateDirectories(Filename, "*", SearchOption.TopDirectoryOnly))
foreach (string dir in Directory.GetDirectories(Filename, "*"))
#else
foreach (string dir in Directory.EnumerateDirectories(Filename, "*", SearchOption.TopDirectoryOnly))
#endif
{ {
var fl = new Folder(dir); var fl = new Folder(dir);
_children.Add(fl); _children.Add(fl);
} }
}
return _children; return _children;
} }