static void Main(string[] args) { string[] filePaths = Directory.GetFiles("media"); ArrayList PIList = new ArrayList(); foreach (string path in filePaths) { string type = path.Substring(path.Length - 4, 4); string name = path.Substring(6, path.Length - 10); PIList.Add(new PlayerItem(path, name, type)); } for (int i = 0; i < PIList.Count; i++) { Console.WriteLine($"{i + 1} - {((PlayerItem)PIList[i]).Name}{((PlayerItem)PIList[i]).Type}"); } Console.WriteLine(); Console.WriteLine("Выберите музыку по индексу"); byte index = Convert.ToByte(Console.ReadLine()); PlayerItem chosen = ((PlayerItem)PIList[index - 1]); Mp3 mp3 = new Mp3(chosen); Wav wav = new Wav(chosen); Mkv mkv = new Mkv(chosen); switch (chosen.Type) { case ".mkv": mkv.Play(); mkv.Pause(); mkv.Stop(); break; case ".mp3": mp3.Play(); mp3.Pause(); mp3.Stop(); break; case ".wav": wav.Play(); wav.Pause(); wav.Stop(); wav.Record(); break; default: Console.WriteLine("расширение не поддерживается"); break; } Console.ReadKey(); }