Proper way to implement ICloneable
You can easily create a superficial clone with object‘s protected method MemberwiseClone. Example: public abstract class AbstractCloneable : ICloneable { public object Clone() { return this.MemberwiseClone(); } } If you don’t need anything like a deep copy, you will not have to do anything in the child classes. The MemberwiseClone method creates a shallow copy … Read more