diff --git a/ICD.Common.Utils/Xml/IcdXmlConvert.cs b/ICD.Common.Utils/Xml/IcdXmlConvert.cs index 88c56a9..717ed97 100644 --- a/ICD.Common.Utils/Xml/IcdXmlConvert.cs +++ b/ICD.Common.Utils/Xml/IcdXmlConvert.cs @@ -21,22 +21,34 @@ namespace ICD.Common.Utils.Xml /// public static string SerializeObject(string elementName, object value) { - if (value == null) - return ToString(null); - - IXmlConverter converter = XmlConverterAttribute.GetConverterForInstance(value); - StringBuilder builder = new StringBuilder(); using (IcdStringWriter stringWriter = new IcdStringWriter(builder)) { using (IcdXmlTextWriter writer = new IcdXmlTextWriter(stringWriter)) - converter.WriteXml(writer, elementName, value); + SerializeObject(writer, elementName, value); } return builder.ToString(); } + /// + /// Serializes the given instance to xml. + /// + /// + /// + /// + /// + public static void SerializeObject(IcdXmlTextWriter writer, string elementName, object value) + { + if (writer == null) + throw new ArgumentNullException("writer"); + + IXmlConverter converter = XmlConverterAttribute.GetConverterForInstance(value); + + converter.WriteXml(writer, elementName, value); + } + /// /// Deserializes the given xml to an instance of the given type. ///