/// <summary> /// Construye una copia del formateador de mensajes. /// </summary> /// <remarks> /// El formateador del cabezal de los mensajes y los formateadores /// de campo no son copiados, al nuevo formateador de mensajes /// se le asignan solo referencias, es decir, el formateador que se /// clona y el formateador clonado comparten estos objetos. /// </remarks> /// <returns> /// Una copia exacta del formateador de mensajes. /// </returns> public virtual object Clone() { BasicMessageFormatter formatter = new BasicMessageFormatter(); CopyTo(formatter); return(formatter); }
/// <summary> /// Copia el formateador sobre el que se invoca este método /// en otro dado. /// </summary> /// <param name="messageFormatter"> /// Es el formateador al que se copia la información del /// formateador sobre el que se invoca este método. /// </param> /// <remarks> /// El formateador del cabezal de los mensajes y los formateadores /// de campo no son copiados, al formateador de mensajes dado /// se le asignan solo referencias, es decir, el formateador que se /// copia en el formateador dado comparten estos objetos. /// </remarks> public virtual void CopyTo(BasicMessageFormatter messageFormatter) { messageFormatter.Description = _description; messageFormatter.Logger = _logger; messageFormatter.Name = _name; messageFormatter.MessageHeaderFormatter = _headerFormatter; // TODO - Sincronizar la colección. lock ( _fieldsFormatters) { foreach (FieldFormatter fieldFormatter in _fieldsFormatters) { messageFormatter.FieldFormatters.Add(fieldFormatter); } } }