/// <summary> /// Converts a filename to a NonLibraryFile object /// </summary> /// <param name="rootFolder">Root folder the non-library file was found in</param> /// <param name="filename">Full filename of the non-library file</param> /// <returns>NonLibraryFile object derived from the specified file name</returns> public static NonLibraryFile FromFilename(RootFolder rootFolder, IntelligentString filename) { IntelligentString rootFolderPath = AppendTrailingSlash(rootFolder.Path); filename = filename.Substring(rootFolderPath.Length); IntelligentString[] subFolders = filename.Split("\\"); IntelligentString subFolder = IntelligentString.Empty; for (int i = 0; i < subFolders.Length; i++) { if (i == (subFolders.Length - 1)) { filename = subFolders[i]; } else { subFolder += subFolders[i] + "\\"; } } return(new NonLibraryFile(rootFolder, subFolder, filename)); }