public override string SerializeToString(object obj) { IAttachment a = obj as IAttachment; if (a != null) { if (a.Uri != null) { if (a.Parameters.ContainsKey("VALUE")) { // Ensure no VALUE type is provided a.Parameters.Remove("VALUE"); } return(Encode(a, a.Uri.OriginalString)); } else if (a.Data != null) { // Ensure the VALUE type is set to BINARY a.SetValueType("BINARY"); // BASE64 encoding for BINARY inline attachments. a.Parameters.Set("ENCODING", "BASE64"); return(Encode(a, a.Data)); } } return(null); }