Ejemplo n.º 1
0
 public void Serialize(NetDataWriter writer, Int16?value, NetDataSerializerOptions options)
 {
     if (value == null)
     {
         writer.Write(false);
     }
     else
     {
         writer.Write(true);
         writer.Write(value.Value);
     }
 }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
 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]);
         }
     }
 }
Ejemplo n.º 6
0
        public static NetDataWriter FromString(string value)
        {
            var netDataWriter = new NetDataWriter();

            netDataWriter.Write(value);
            return(netDataWriter);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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;
        }
Ejemplo n.º 9
0
        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);
                }
            }
        }
Ejemplo n.º 10
0
 public void Serialize(NetDataWriter writer, Int16 value, NetDataSerializerOptions options)
 {
     writer.Write(value);
 }