public override void write(POxOPrimitiveEncoder encoder, Object obj) { try { encoder.writeVarInt(((int)Convert.ChangeType(obj, ((Enum)obj).GetTypeCode()) + 1), true); } catch (ObjectDisposedException e) { throw new POxOSerializerException("Error during Enum serializing.", e); } catch (NotSupportedException e) { throw new POxOSerializerException("Error during Enum serializing.", e); } }
public override void write(POxOPrimitiveEncoder encoder, Object value) { IList list; try { list = (IList)value; if (canBeNull) { if (list == null) { encoder.WriteByte(0x00); return; } else { encoder.WriteByte(0x01); } } encoder.writeVarInt(list.Count, true); foreach (Object o in list) { nestedSerializer.write(encoder, o); } } catch (ObjectDisposedException e) { throw new POxOSerializerException("Error during List serializing.", e); } catch (NotSupportedException e) { throw new POxOSerializerException("Error during List serializing.", e); } }
public override void write(POxOPrimitiveEncoder encoder, Object value) { IDictionary map; try { map = (IDictionary)value; if (canBeNull) { if (map == null) { encoder.WriteByte(0x00); return; } else { encoder.WriteByte(0x01); } } encoder.writeVarInt(map.Count, true); foreach (Object key in map.Keys) { keyNestedSerializer.write(encoder, key); valueNestedSerializer.write(encoder, map[key]); } } catch (ObjectDisposedException e) { throw new POxOSerializerException("Error during List serializing.", e); } catch (NotSupportedException e) { throw new POxOSerializerException("Error during List serializing.", e); } }