// Make some Persons. private void Form1_Load(object sender, EventArgs e) { Person ann = new Person() { FirstName = "Ann", LastName = "Archer", Manager = null }; Person bob = new Person() { FirstName = "Bob", LastName = "Baker", Manager = ann }; Person bob2 = (Person)bob.Clone(); Person cindy = new Person() { FirstName = "Cindy", LastName = "Cane", Manager = bob }; // Change Bob's manager's name. bob.Manager.FirstName = "Dan"; bob.Manager.LastName = "Dent"; // Display the people. peopleListBox.Items.Add(ann); peopleListBox.Items.Add(bob); peopleListBox.Items.Add(bob2); peopleListBox.Items.Add(cindy); }
// Return a clone of this person. public object Clone() { Person person = new Person(); person.FirstName = FirstName; person.LastName = LastName; person.Manager = Manager; // Uncomment the following for deep clones. //if (Manager != null) // person.Manager = (Person)Manager.Clone(); return person; }