static void Main(string[] args) { ConcreteTemplate ct = new ConcreteTemplate() { SomeProperty = "hello" }; ConcreteGenericModel cgm = new ConcreteGenericModel(ct); XmlAttributeOverrides attrOverides = new XmlAttributeOverrides(); XmlAttributes attrs = new XmlAttributes() { XmlIgnore = true }; attrOverides.Add(typeof(Model), "Template", attrs); Type[] extraTypes = new Type[0]; XmlSerializer serializer = new XmlSerializer(typeof(ConcreteGenericModel), attrOverides, extraTypes, null, null); StringBuilder sb = new StringBuilder(); using (StringWriter writer = new StringWriter(sb)) serializer.Serialize(writer, cgm); string serializedClass = sb.ToString(); Console.WriteLine(serializedClass); ConcreteGenericModel deserializedCgm; using (StringReader reader = new StringReader(serializedClass)) deserializedCgm = (ConcreteGenericModel)serializer.Deserialize(reader); Console.ReadLine(); }
static void Main(string[] args) { ConcreteTemplate ct = new ConcreteTemplate() { SomeProperty = "hello" }; ConcreteGenericModel cgm = new ConcreteGenericModel(ct); XmlAttributeOverrides attrOverides = new XmlAttributeOverrides(); XmlAttributes attrs = new XmlAttributes() { XmlIgnore = true }; attrOverides.Add(typeof(Model), "Template", attrs); XmlSerializer serializer = new XmlSerializer(typeof(ConcreteGenericModel), attrOverides); StringBuilder sb = new StringBuilder(); using (StringWriter writer = new StringWriter(sb)) serializer.Serialize(writer, cgm); Console.WriteLine(sb.ToString()); Console.ReadLine(); }