public override Object read(POxOPrimitiveDecoder decoder) { try { if (canBeNull) { byte isNull = (byte)decoder.ReadByte(); if (isNull == 0x00) { return null; } } int size = decoder.readVarInt(true); IList list = (IList)typeof(List<>).MakeGenericType(genericTypes).GetConstructor(Type.EmptyTypes).Invoke(null); for (int i = 0; i < size; i++) { Object o = (Object)nestedSerializer.read(decoder); list.Add(o); } return list; } catch (ObjectDisposedException e) { throw new POxOSerializerException("Error during List deserializing.", e); } }
public override Object read(POxOPrimitiveDecoder decoder) { try { if (canBeNull) { byte isNull = (byte)decoder.ReadByte(); if (isNull == 0x00) { return null; } } int size = decoder.readVarInt(true); var list = (IDictionary)typeof(Dictionary<,>).MakeGenericType(new Type[] { keyObjectClass, valueObjectClass }).GetConstructor(Type.EmptyTypes).Invoke(null); for (int i = 0; i < size; i++) { Object key = keyNestedSerializer.read(decoder); Object value = valueNestedSerializer.read(decoder); list.Add(key, value); } return list; } catch (ObjectDisposedException e) { throw new POxOSerializerException("Error during List deserializing.", e); } }
public override Object read(POxOPrimitiveDecoder decoder) { try { if (canBeNull) { byte isNull = (byte)decoder.ReadByte(); if (isNull == 0x00) { return null; } } return (sbyte)decoder.ReadByte(); } catch (ObjectDisposedException e) { throw new POxOSerializerException("Error during Date serializing.", e); } }
public override Object read(POxOPrimitiveDecoder decoder) { try { if (canBeNull) { byte isNull = (byte)decoder.ReadByte(); if (isNull == 0x00) { return null; } } DateTime value = DateTime.FromFileTime(decoder.readLong(true)); return value; } catch (ObjectDisposedException e) { throw new POxOSerializerException("Error during Date deserializing.", e); } catch (NotSupportedException e) { throw new POxOSerializerException("Error during Date deserializing.", e); } }