Beispiel #1
0
        // Deserialization of value type elements that uses value type caching (string and so on)
        private T[] DeserializeInternal(BaseSerializerInfo <T> serializerInfo, IValueTypeObjectsDictionary objectCache)
        {
            Action <int, T[]> action = (arrayLength, outputArray) =>
            {
                // Serializer of an element
                ICachedObjectSerializer <T> serializer = (serializerInfo as CachedValObjectSerializerInfo <T>).FactoryFunc(SerializerStorage, objectCache);

                // Deserialize all the elems
                for (int pos = 0; pos < arrayLength; pos++)
                {
                    T value = serializer.Deserialize();
                    outputArray[pos] = value;
                }
            };

            return(DeserializeInternal(action));
        }
Beispiel #2
0
 public WKTSerializers(ISerializerStorage serializerStorage, IValueTypeObjectsDictionary objectCache)
 {
     Boolean        = new BooleanSerializer(serializerStorage);
     Byte           = new ByteSerializer(serializerStorage);
     Char           = new CharSerializer(serializerStorage);
     DateTime       = new DateTimeSerializer(serializerStorage);
     DateTimeOffset = new DateTimeOffsetSerializer(serializerStorage);
     Decimal        = new DecimalSerializer(serializerStorage);
     Double         = new DoubleSerializer(serializerStorage);
     Guid           = new GuidSerializer(serializerStorage);
     Int16          = new Int16Serializer(serializerStorage);
     Int32          = new Int32Serializer(serializerStorage);
     Int64          = new Int64Serializer(serializerStorage);
     Object         = new ObjectSerializer(serializerStorage);
     SByte          = new SByteSerializer(serializerStorage);
     Single         = new SingleSerializer(serializerStorage);
     String         = new StringSerializer(serializerStorage, objectCache);
     TimeSpan       = new TimeSpanSerializer(serializerStorage);
     UInt16         = new UInt16Serializer(serializerStorage);
     UInt32         = new UInt32Serializer(serializerStorage);
 }
Beispiel #3
0
 // Constructor
 public ComplexTypeSerializerBase(ISerializerStorage serializerStorage, IRefTypeObjectsDictionary refObjectCache, IValueTypeObjectsDictionary valObjectsCache)
     : base(serializerStorage, refObjectCache)
 {
     ValObjectsCache = valObjectsCache; WKTSerializers = serializerStorage.WKTSerializers;
 }
Beispiel #4
0
        // Serialization of value type elements that uses value type caching (string and so on)
        private void SerializeInternal(T[] valueToSerialize, BaseSerializerInfo <T> serializerInfo, IValueTypeObjectsDictionary objectCache)
        {
            Action arraySerializationAction = () =>
            {
                // Serializer of an element
                ICachedObjectSerializer <T> serializer = (serializerInfo as CachedValObjectSerializerInfo <T>).FactoryFunc(SerializerStorage, objectCache);

                // Serialize all the elems
                for (int pos = 0; pos < valueToSerialize.Length; pos++)
                {
                    serializer.Serialize(valueToSerialize[pos]);
                }
            };

            SerializeInternal(valueToSerialize, arraySerializationAction);
        }
 // Constructor
 public PerfTests_Classes_AzureEntityFramework_AddressSerializer(ISerializerStorage serializerStorage, IRefTypeObjectsDictionary refObjectsCache, IValueTypeObjectsDictionary valObjectsCache)
     : base(serializerStorage, refObjectsCache, valObjectsCache)
 {
 }