AcManager.Tools.Managers.Directories.BaseAcDirectories.GetSubSomething C# (CSharp) Метод

GetSubSomething() приватный Метод

private GetSubSomething ( string[]>.Func selector ) : IEnumerable
selector string[]>.Func
Результат IEnumerable
        private IEnumerable<string> GetSubSomething(Func<string, string[]> selector) {
            if (!Actual) throw new Exception(ToolsStrings.AcObject_NotValidAnymore);

            List<string> enabled;
            if (Directory.Exists(EnabledDirectory)) {
                var list = selector(EnabledDirectory);
                foreach (var dir in list) {
                    yield return dir;
                }

                enabled = list.Select(x => Path.GetFileName(x)?.ToLowerInvariant()).ToList();
            } else {
                enabled = new List<string>();
            }

            if (DisabledDirectory == null || !Directory.Exists(DisabledDirectory)) yield break;
            foreach (var dir in selector(DisabledDirectory).Where(x => !enabled.Contains(x.ToLowerInvariant()))) {
                yield return dir;
            }
        }