public void Load(string filename) { StreamReader reader = new StreamReader(Path.Combine("/users/JackM/Desktop/", filename)); try { Background = Color.FromArgb(reader.ReadInteger()); int count = reader.ReadInteger(); for (int i = 0; i < count; i++) { string kind = reader.ReadLine(); if (kind == "Rectangle") { Rectangle s = new Rectangle(); s.LoadFrom(reader); _shapes.Add(s); } else if (kind == "Circle") { Circle s = new Circle(); s.LoadFrom(reader); _shapes.Add(s); } else if (kind == "Line") { Line s = new Line(); s.LoadFrom(reader); _shapes.Add(s); } else { throw new InvalidDataException("Unknown shape kind: " + kind); } } } finally { reader.Close(); } }
public void Load(string filename) { StreamReader reader = new StreamReader(filename); try { int count; Shape s; string kind; _background = Color.FromArgb(reader.ReadInteger()); count = reader.ReadInteger(); for (int i = 0; i < count; i++) { kind = reader.ReadLine(); switch (kind) { case "Rectangle": s = new Rectangle(); break; case "Circle": s = new Circle(); break; default: throw new InvalidDataException("Unknown shape kind: " + kind); } s.LoadFrom(reader); _shapes.Add(s); } } finally { reader.Close(); } }