Exemplo n.º 1
0
 /// <summary>
 /// Returns enumerable collection of <see cref="SnippetFile"/> deserialized from snippet files in a specified directory.
 /// </summary>
 /// <param name="directoryPath">The absolute or relative path to the directory to search.</param>
 /// <param name="searchOption">A <see cref="SearchOption"/> value that specifies whether the search should include all subdirectories or only current directory.</param>
 /// <returns>An enumerable collection <see cref="SnippetFile"/> being deserialized.</returns>
 public static IEnumerable <SnippetFile> DeserializeFiles(string directoryPath, SearchOption searchOption = SearchOption.TopDirectoryOnly)
 {
     foreach (string filePath in SnippetFileSearcher.EnumerateSnippetFiles(directoryPath, searchOption))
     {
         yield return(DeserializeFile(filePath));
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Returns enumerable collection of snippet file names from a specified directories, optionally searching subdirectories.
        /// </summary>
        /// <param name="directoryPaths">Enumerable collection of absolute or relative paths to the directories to search.</param>
        /// <param name="searchOption">A <see cref="SearchOption"/> value that specifies whether the search should include all subdirectories or only current directory. The default value is <see cref="SearchOption.TopDirectoryOnly"/>.</param>
        /// <returns>An enumerable collection of snippet file names.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="directoryPaths"/> is <c>null</c>.</exception>
        public static IEnumerable <string> EnumerateSnippetFiles(IEnumerable <string> directoryPaths, SearchOption searchOption)
        {
            if (directoryPaths == null)
            {
                throw new ArgumentNullException(nameof(directoryPaths));
            }

            return(EnumerateSnippetFiles());

            IEnumerable <string> EnumerateSnippetFiles()
            {
                foreach (string directoryPath in directoryPaths)
                {
                    foreach (string filePath in SnippetFileSearcher.EnumerateSnippetFiles(directoryPath, searchOption))
                    {
                        yield return(filePath);
                    }
                }
            }
        }