/// <summary> /// Shallow copies the base fields from the source message to this instance. /// </summary> /// <param name="source">The source message.</param> /// <param name="regenMsgID"> /// Pass as <c>true</c> to renegerate the <see cref="Msg._MsgID" /> property if the /// source message ID property is not empty. /// </param> /// <remarks> /// Use this in overriden <see cref="Msg.Clone" /> method implementations /// to ensure that the base message fields are copied properly. /// </remarks> protected override void CopyBaseFields(Msg source, bool regenMsgID) { base.CopyBaseFields(source, regenMsgID); this.properties = ((PropertyMsg)source).properties.Clone <string, string>(StringComparer.InvariantCultureIgnoreCase); }