public Type1(Type1 other) : base(other) { }
public virtual void CopyFrom(Type1 other) { Prop1 = other.Prop1; if (other.comp1 != null) { Comp1.CopyFrom(other.Comp1); } else { if (this.comp1 != null) this.comp1.CopyFrom(new Type2()); } if (other.col1 != null) { Col1.Clear(); Col1.AddRange(other.Col1); } else { if (this.col1 != null) this.col1.Clear(); } }