public void Serialize(NetDataWriter writer, Int16?value, NetDataSerializerOptions options) { if (value == null) { writer.Write(false); } else { writer.Write(true); writer.Write(value.Value); } }
public void Serialize(NetDataWriter writer, TDictionary value, NetDataSerializerOptions options) { if (value == null) { writer.Write(false); } else { writer.Write(true); INetDataFormatterResolver resolver = options.Resolver; INetDataFormatter <TKey> keyFormatter = resolver.GetFormatter <TKey>(); INetDataFormatter <TValue> valueFormatter = resolver.GetFormatter <TValue>(); int count; { var col = value as ICollection <KeyValuePair <TKey, TValue> >; if (col != null) { count = col.Count; } else { var col2 = value as IReadOnlyCollection <KeyValuePair <TKey, TValue> >; if (col2 != null) { count = col2.Count; } else { throw new NetDataSerializationException("DictionaryFormatterBase's TDictionary supports only ICollection<KVP> or IReadOnlyCollection<KVP>"); } } } writer.Write(count); TEnumerator e = this.GetSourceEnumerator(value); try { while (e.MoveNext()) { KeyValuePair <TKey, TValue> item = e.Current; keyFormatter.Serialize(writer, item.Key, options); valueFormatter.Serialize(writer, item.Value, options); } } finally { e.Dispose(); } } }
public void Serialize(NetDataWriter writer, T[,,,] value, NetDataSerializerOptions options) { if (value == null) { writer.Write(false); } else { writer.Write(true); var i = value.GetLength(0); var j = value.GetLength(1); var k = value.GetLength(2); var l = value.GetLength(3); INetDataFormatter <T> formatter = options.Resolver.GetFormatter <T>(); writer.Write(ArrayLength); writer.Write(i); writer.Write(j); writer.Write(k); writer.Write(l); writer.Write(value.Length); foreach (T item in value) { formatter.Serialize(writer, item, options); } } }
public void Serialize(NetDataWriter writer, Tuple <T1> value, NetDataSerializerOptions options) { if (value == null) { writer.Write(false); } else { writer.Write(true); writer.Write((byte)1); INetDataFormatterResolver resolver = options.Resolver; resolver.GetFormatter <T1>().Serialize(writer, value.Item1, options); } }
public void Serialize(NetDataWriter writer, String[] value, NetDataSerializerOptions options) { if (value == null) { writer.Write(false); } else { writer.Write(true); writer.Write((int)value.Length); for (int i = 0; i < value.Length; i++) { writer.Write(value[i]); } } }
public static NetDataWriter FromString(string value) { var netDataWriter = new NetDataWriter(); netDataWriter.Write(value); return(netDataWriter); }
public void Serialize(NetDataWriter writer, ValueTuple <T1> value, NetDataSerializerOptions options) { writer.Write((byte)1); INetDataFormatterResolver resolver = options.Resolver; resolver.GetFormatter <T1>().Serialize(writer, value.Item1, options); }
public void Serialize(NetDataWriter writer, KeyValuePair <TKey, TValue> value, NetDataSerializerOptions options) { writer.Write((byte)2); INetDataFormatterResolver resolver = options.Resolver; resolver.GetFormatter <TKey>().Serialize(writer, value.Key, options); resolver.GetFormatter <TValue>().Serialize(writer, value.Value, options); return; }
public void Serialize(NetDataWriter writer, T[] value, NetDataSerializerOptions options) { if (value == null) { writer.Write(false); } else { writer.Write(true); INetDataFormatter <T> formatter = options.Resolver.GetFormatter <T>(); writer.Write(value.Length); for (int i = 0; i < value.Length; i++) { formatter.Serialize(writer, value[i], options); } } }
public void Serialize(NetDataWriter writer, Int16 value, NetDataSerializerOptions options) { writer.Write(value); }