public override object GetValue( IXmlNode node, IDictionaryAdapter parent, IXmlAccessor accessor ) { return(node.ClrType == typeof(object) ? new object() : XmlTypeSerializer.For(node.ClrType).GetValue(node, parent, accessor)); }
public override void SetValue(IXmlNode node, IDictionaryAdapter parent, IXmlAccessor accessor, object oldValue, ref object value) { if (node.ClrType != typeof(object)) { XmlTypeSerializer.For(node.ClrType).SetValue(node, parent, accessor, oldValue, ref value); } else { node.Clear(); } }
public void Indexer_ForSameType_ReturnsSameInstance_Concurrently() { var count = 16; var serializers = new XmlTypeSerializer[count]; Parallel.For(0, count, i => serializers[i] = XmlTypeSerializerCache.Instance[typeof(A)]); for (var i = 1; i < count; i++) Assert.That(serializers[i], Is.Not.Null & Is.SameAs(serializers[0])); }
public void Indexer_ForSameType_ReturnsSameInstance_Concurrently() { var count = 16; var serializers = new XmlTypeSerializer[count]; Parallel.For(0, count, i => serializers[i] = XmlTypeSerializerCache.Instance[typeof(A)]); for (var i = 1; i < count; i++) { Assert.AreSame(serializers[0], serializers[i]); } }