void ReadText() { fileName = Path.ChangeExtension(fileName, ".txt"); StreamReader sr = FileOpen("read") as StreamReader; if (sr == null) { Console.WriteLine("Could not open: " + fileName); return; } Console.WriteLine("Reading from: " + Path.GetFileName(fileName)); string line; while ((line = sr.ReadLine()) != null) { if (line == "") { continue; } Man m; switch (line[0]) { case 'S': m = new Stud(); break; case 'P': m = new Prof(); break; default: return; } char[] separator = { ':', ';' }; string[] tokens = line.Split(separator); m.Read(tokens); men.Add(m); } sr.Close(); }
public void Add() { while (true) // Пусть пользователь вводит, пока ему не надоест { Man m = null; switch (ManMenu()) { case 'q': return; case 's': m = new Stud(); break; case 'p': m = new Prof(); break; default: continue; } m.In(); men.Add(m); bModified = true; // Список изменился } }
public void Add() { while (true) // Пусть пользователь вводит, пока ему не надоест { Man m = null; // Пока пустая ссылка switch (ManMenu()) // Это меню должно предлагать выбор: Stud или Prof { case 'q': return; case 's': m = new Stud(); break; case 'p': m = new Prof(); break; default: continue; } // Вызовите виртуальный метод ввода данных. Здесь работает полиморфизм позднего связывания m.In(); //==== Добавьте ссылку в коллекцию men.Add(m); bModified = true; // Список изменился } }
void ReadText() { fileName = Path.ChangeExtension(fileName, ".txt"); // Обратитесь к методу FileOpen("read") и приведите тип (as StreamReader) StreamReader sr = FileOpen("read") as StreamReader; // Обратитесь к методу FileOpen("read") и приведите тип (as StreamReader) if (sr == null) { Console.WriteLine("Could not open: " + fileName); return; } Console.WriteLine("Reading from: " + Path.GetFileName(fileName)); string line; while ((line = sr.ReadLine()) != null) { if (line == "") { continue; } Man m; switch (line[0]) { case 'S': m = new Stud(); break; case 'P': m = new Prof(); break; default: return; } char[] separator = { ':', ';' }; string[] tokens = line.Split(separator); // Разбейте строку на подстроки с помощью метода Split m.Read(tokens); // Здесь работает полиморфизм поздего связывания men.Add(m); } sr.Close(); }