public FileDesc(ParseStrFile str)//string Name, FileType Type, string Extension, FileSize Size) { this.Name = str.Name; this.Type = str.Type; this.Extension = str.Extension; this.Size = str.Size; }
static void Main(string[] args) { string text = @"Text:file.txt(6B);Some string content Image:img.bmp(19MB);1920x1080 Text:data.txt(12B);Another string Text:data1.txt(7B);Yet another string Movie:logan.2017.mkv(19GB);1920x1080; 2h12m"; string[] strsFile = text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); ParseStrFile[] strFiles = new ParseStrFile[strsFile.Length]; List textFiles = new List(); List imageFiles = new List(); List movieFiles = new List(); for (int i = 0; i < strsFile.Length; i++) { strFiles[i] = new ParseStrFile(strsFile[i]); if (strFiles[i].Type == FileType.Text) { textFiles.Add(new TextFileDesc(strFiles[i])); } else if (strFiles[i].Type == FileType.Image) { imageFiles.Add(new ImageFileDesc(strFiles[i])); } else if (strFiles[i].Type == FileType.Movie) { movieFiles.Add(new MovieFileDesc(strFiles[i])); } } Console.WriteLine("Text files:"); foreach (var textFile in textFiles) { ((TextFileDesc)textFile).ShowDesc(); } Console.WriteLine(); Console.WriteLine("Movies:"); foreach (var movieFile in movieFiles) { ((MovieFileDesc)movieFile).ShowDesc(); } Console.WriteLine(); Console.WriteLine("Images:"); foreach (var imageFile in imageFiles) { ((ImageFileDesc)imageFile).ShowDesc(); } Console.ReadLine(); }
static void Main(string[] args) { string text = @"Text:file.txt(6B);Some string content Image:img.bmp(19MB);1920x1080 Text:data.txt(12B);Another string Text:data1.txt(7B);Yet another string Movie:logan.2017.mkv(19GB);1920x1080; 2h12m"; string[] strsFile = text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); ParseStrFile[] strFiles = new ParseStrFile[strsFile.Length]; FileDesc[] files = new FileDesc[strsFile.Length]; for (int i = 0; i < strsFile.Length; i++) { strFiles[i] = new ParseStrFile(strsFile[i]); if (strFiles[i].Type == FileType.Text) { files[i] = new TextFileDesc(strFiles[i].Name, strFiles[i].Type, strFiles[i].Extension, strFiles[i].Size, (string)strFiles[i].FileProp[0]); } if (strFiles[i].Type == FileType.Image) { files[i] = new ImageFileDesc(strFiles[i].Name, strFiles[i].Type, strFiles[i].Extension, strFiles[i].Size, (string)strFiles[i].FileProp[0]); } if (strFiles[i].Type == FileType.Movie) { files[i] = new MovieFileDesc(strFiles[i].Name, strFiles[i].Type, strFiles[i].Extension, strFiles[i].Size, (string)strFiles[i].FileProp[0], (string)strFiles[i].FileProp[1]); } } //TextFileDesc[] txtFiles = foreach (var file in files) { file.ShowDesc(); } Console.ReadLine(); }
public MovieFileDesc(ParseStrFile str) : base(str) { string[] tmp = str.FileProp.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); GetDurability(tmp[1]); }
public ImageFileDesc(ParseStrFile str) : base(str) { string[] tmp = str.FileProp.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); GetImageResolution(tmp[0]); }
public TextFileDesc(ParseStrFile str) : base(str) { string[] tmp = str.FileProp.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); this.Content = tmp[0]; }