Ejemplo n.º 1
0
 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));
 }
Ejemplo n.º 2
0
 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]));
        }
Ejemplo n.º 4
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]);
            }
        }
Ejemplo n.º 5
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]);
            }
        }