/// <summary> /// このフォルダに含まれるライブラリファイルを列挙するIEnumerableを返します。 /// </summary> /// <returns></returns> public IEnumerable <LibraryFile> GetLibraryFiles_Enumerable() { if (this.Exist()) { return(Directory.GetFiles(this.Path).Where(x => LibraryFile.IsTargetFile(x)) .Select <string, LibraryFile>(x => LibraryFile.FromFile(x))); } return(Enumerable.Empty <LibraryFile>()); }
/// <summary> /// このインスタンスが、複数のファイルから構成されるライブラリを表している場合、残りのファイルのパスを返します。 /// 単一ファイルのライブラリの場合、nullを返します。 /// </summary> /// <returns></returns> public List<string> GetOtherFiles() { if (LibraryFile.HasOtherFiles(this.FileName)) { List<string> list = AppMain.g_AppMain.AppInfo.HasOtherFilesExtentions .First(x => Path.GetExtension(this.FileName).ToLower() == x.Key.ToLower()) .Value; //拡張子を置換したリストを返す return list.Select(x => this.FileName.Replace(Path.GetExtension(this.FileName), x)) .ToList(); } return null; }
/// <summary> /// ファイル名を指定して、LibraryFileクラスの新しいインスタンスを作成します。 /// </summary> /// <param name="filename"></param> /// <returns></returns> public static LibraryFile FromFile(string filename) { LibraryFile libraryFile = new LibraryFile() { m_FileName = filename }; libraryFile.ReadFileHeader(); return libraryFile; }