Using ICloneable
class Person : ICloneable
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Person Manager { get; set; }
// Return a clone of this person.
public object Clone()
{
Person person = new Person();
person.FirstName = FirstName;
person.LastName = LastName;
person.Manager = Manager;
return person;
}
}