예제 #1
0
 /// <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>());
 }
예제 #2
0
 /// <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;
 }
예제 #3
0
 /// <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;
 }