using System; namespace VisionCommon { public class DirectorRecipe : ICloneCopy { public CoordSystem CoordSystem { get; set; } = new CoordSystem(); public DirectorRecipe Clone() { return ((ICloneable)this).Clone() as DirectorRecipe; } object ICloneable.Clone() { var cloneObj = new DirectorRecipe(); CopyTo(cloneObj); return cloneObj; } public void CopyTo(DirectorRecipe target) { target.CoordSystem = this.CoordSystem.Clone() as CoordSystem; } } }