コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="rootAttribute"></param>
        /// <returns></returns>
        public static ISerialiser <T> GetXmlSerialiser <T>(XmlRootAttribute rootAttribute = null)
        {
            ISerialiser <T> serialiser;

            if (rootAttribute == null)
            {
                serialiser = new XmlSerialiser <T>();
            }
            else
            {
                int           serialiserKey = GenerateKey(typeof(T), rootAttribute);
                XmlSerializer xmlSerializer;

                if (xmlSerializers.TryGetValue(serialiserKey, out xmlSerializer))
                {
                    serialiser = (ISerialiser <T>)xmlSerializer;
                }
                else
                {
                    serialiser = new XmlSerialiser <T>(rootAttribute);
                    xmlSerializers.Add(serialiserKey, (XmlSerializer)serialiser);
                }
            }

            return(serialiser);
        }
コード例 #2
0
 /// <summary>
 /// Create an instance of this class, specifying the root element of the serialised object (using an XML root
 /// attribute).
 /// </summary>
 /// <param name="root">XML root attribute.</param>
 public XmlToJsonSerialiser(XmlRootAttribute root)
 {
     xmlSerialiser = new XmlSerialiser <T>(root);
 }
コード例 #3
0
 /// <summary>
 /// Create an instance of this class.
 /// </summary>
 public XmlToJsonSerialiser()
 {
     xmlSerialiser = new XmlSerialiser <T>();
 }