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 void read(POxOPrimitiveDecoder decoder, ObjectSerializer serializer, Object obj) { try { FieldSerializerUtil[] fieldsSerializerList = objectSerializer.getFieldsSerializers(type); for (int i = 0, n = fieldsSerializerList.Length; i < n; i++) fieldsSerializerList[i].Field.SetValue(obj, fieldsSerializerList[i].Serializer.read(decoder)); } catch (Exception e) { throw new POxOSerializerException("Error during fields deserializing. ", e); } }
public override Object read(POxOPrimitiveDecoder decoder) { try { if (canBeNull) { byte isNull = (byte)decoder.ReadByte(); if (isNull == 0x00) { return null; } } return decoder.readbool(); } catch (ObjectDisposedException e) { throw new POxOSerializerException("Error during Date serializing.", e); } }
public override Object read(POxOPrimitiveDecoder decoder) { try { int ordinal = decoder.readVarInt(true); ordinal--; Array enumConstants = classToSerialize.GetEnumValues(); return enumConstants.GetValue(ordinal); } catch (ArgumentException e) { throw new POxOSerializerException("Error during Enum deserializing.", e); } catch (ObjectDisposedException e) { throw new POxOSerializerException("Error during Enum deserializing.", 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); } }
public abstract Object read(POxOPrimitiveDecoder decoder);