コード例 #1
0
        private static MegFileNameTable BuildFileNameTable(MegFileAttribute megFileAttribute)
        {
            List <string> actualFiles = new List <string>();
            List <MegFileNameTableRecord> megFileNameList = new List <MegFileNameTableRecord>();

            foreach (string file in megFileAttribute.ContentFiles)
            {
                try
                {
                    string fileName = MegFileContentUtility.ExtractFileNameForMegFile(file);
                    MegFileNameTableRecord megFileNameTableRecord = new MegFileNameTableRecord(fileName);
                    megFileNameList.Add(megFileNameTableRecord);
                    actualFiles.Add(file);
                }
                catch (Exception e)
                {
                    Console.Error.WriteLine($"File {file} is invalid. {e}");
                }
            }

            megFileAttribute.ContentFiles = actualFiles;
            return(new MegFileNameTable(megFileNameList));
        }
コード例 #2
0
 private IEnumerable <MegFileDataEntry> CollectSortedMegFileDataEntries(MegFileHolder holder, MegFileNameTableRecord megFileNameTableRecord)
 {
     return(holder.Content.Where(megFileDataEntry =>
                                 megFileNameTableRecord.FileName.Equals(
                                     megFileDataEntry.RelativeFilePath.Replace("\\", "/").Replace("\0", string.Empty),
                                     StringComparison.InvariantCultureIgnoreCase)));
 }
コード例 #3
0
 public void Ctor_Test__ThrowsOverflowException()
 {
     string fn = TestUtility.GetRandomStringOfLength(ushort.MaxValue + 5);
     MegFileNameTableRecord _ = new MegFileNameTableRecord(fn);
 }
コード例 #4
0
 public void Ctor_Test__ThrowsArgumentException(string fileName)
 {
     MegFileNameTableRecord _ = new MegFileNameTableRecord(fileName);
 }