public override object GetValue(IXmlNode node, IDictionaryAdapter parent, IXmlAccessor accessor) { using (var reader = new XmlSubtreeReader(node, Root)) return serializer.CanDeserialize(reader) ? serializer.Deserialize(reader) : null; }
public override object GetValue(IXmlNode node, IDictionaryAdapter parent, IXmlAccessor accessor) { using (var reader = new XmlSubtreeReader(node, Root)) return(serializer.CanDeserialize(reader) ? serializer.Deserialize(reader) : null); }
public override object GetValue(IXmlNode node, IDictionaryAdapter parent, IXmlAccessor accessor) { var serializable = (IXmlSerializable)Activator.CreateInstance(node.ClrType); using (var reader = new XmlSubtreeReader(node, XmlDefaultSerializer.Root)) { // Do NOT pre-read containing element // ...IXmlSerializable is not a symmetric contract serializable.ReadXml(reader); } return(serializable); }
public override object GetValue(IXmlNode node, IDictionaryAdapter parent, IXmlAccessor accessor) { var serializable = (IXmlSerializable) Activator.CreateInstance(node.ClrType); using (var reader = new XmlSubtreeReader(node, XmlDefaultSerializer.Root)) { // Do NOT pre-read containing element // ...IXmlSerializable is not a symmetric contract serializable.ReadXml(reader); } return serializable; }