//constructors public Daughter(string name, string hobby, int age, Person.Role role) : base(name, hobby, age, role) { }
//constructors public Father(string name, string hobby, int age, Person.Role role) : base(name, hobby, age, role) { AssignSalary(); }
public static Person[] CreateFamily() { int familySize = 0; Console.WriteLine("Please enter the size of your family."); while (true) { try { familySize = Int32.Parse(Console.ReadLine()); break; } catch (Exception) { Console.WriteLine("Please try entering some valid information."); } } Person[] moatsFamily = new Person[familySize]; for (int i = 0; i < familySize; i++) { string name; string hobby; int age; string testRole; Person.Role role = Person.Role.son; Console.WriteLine("Please enter family member {0}'s name", i + 1); name = Console.ReadLine(); Console.WriteLine("Please enter family member {0}'s hobby", i + 1); hobby = Console.ReadLine(); Console.WriteLine("Please enter family member {0}'s age", i + 1); while (true) { try { age = (Int32.Parse(Console.ReadLine())); break; } catch (Exception) { Console.WriteLine("Please try entering some valid information."); } } Console.WriteLine("Please enter family member {0}'s role (ex. father, mother, son, daughter)", i + 1); role = AssignRole(); switch (role) { case Person.Role.father: moatsFamily[i] = new Father(name, hobby, age, role); break; case Person.Role.mother: moatsFamily[i] = new Mother(name, hobby, age, role); break; case Person.Role.son: moatsFamily[i] = new Son(name, hobby, age, role); break; case Person.Role.daughter: moatsFamily[i] = new Daughter(name, hobby, age, role); break; default: Console.WriteLine("You failed to enter a role, so this person does not exist."); break; } } return(moatsFamily); }