Ejemplo n.º 1
0
        //[TestMethod]
        public void XmlSerializerDictionarySerializeTest()
        {
            var data = new DataWithDictionary();

            data.Items.Add("item0", new Item()
            {
                Text = "Item0",
            });
            data.Items.Add("item1", new Item()
            {
                Text = "Item1",
            });
            data.Items.Add("null", null);
            data.Items.Add("item2", new Item()
            {
                Text = "Item2",
            });

            var serializer = new XmlSerializer(typeof(DataWithDictionary));

            using var stream = new MemoryStream();

            serializer.Serialize(stream, data);
            var xml = Encoding.UTF8.GetString(stream.GetBuffer());
        }
Ejemplo n.º 2
0
        public void DataContractSerializerDictionarySerializeTest()
        {
            var data = new DataWithDictionary();

            data.Items.Add("item0", new Item()
            {
                Text = "Item0",
            });
            data.Items.Add("item1", new Item()
            {
                Text = "Item1",
            });
            data.Items.Add("null", null);
            data.Items.Add("item2", new Derived()
            {
                Text = "Item2", DerivedText = "Derived"
            });
            data.Items.Add("item00", data.Items["item0"]);

            var serializer = new DataContractSerializer(typeof(DataWithDictionary));

            using var stream = new MemoryStream();
            using var writer = XmlWriter.Create(stream, DefaultXmlWriterSettings);

            serializer.WriteObject(writer, data);
            writer.Flush();
            var xml = Encoding.UTF8.GetString(stream.GetBuffer());

            stream.Position = 0;

            data = (DataWithDictionary)serializer.ReadObject(stream);
            Assert.IsFalse(ReferenceEquals(data.Items["item00"], data.Items["item0"]));
        }