// 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)); }
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); }
// Constructor public ComplexTypeSerializerBase(ISerializerStorage serializerStorage, IRefTypeObjectsDictionary refObjectCache, IValueTypeObjectsDictionary valObjectsCache) : base(serializerStorage, refObjectCache) { ValObjectsCache = valObjectsCache; WKTSerializers = serializerStorage.WKTSerializers; }
// 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) { }