using System.Collections.Generic;
using System.Xml.Serialization;
public record ShoppingCart
public virtual List<int> Items
public void SerializeToXML()
var xmlSerializer = new XmlSerializer(typeof(ShoppingCart));
var textWriter = new StringWriter();
xmlSerializer.Serialize(textWriter, new ShoppingCart(this));
Console.WriteLine(textWriter.ToString());
public record DynamicCart : ShoppingCart
public override List<int> Items
public static class Program
var cart = new DynamicCart{Items = new(){2}};
Console.WriteLine("serializing sliced:");
Console.WriteLine("serializing unsliced:");
var serializer = new XmlSerializer(typeof(DynamicCart));
TextWriter w = new StringWriter();
serializer.Serialize(w, cart);
Console.WriteLine(w.ToString());