コード例 #1
0
ファイル: Writer.cs プロジェクト: seesharper/BinarySerializer
        public void WriteCollection <TValue>(ICollection <TValue> collection)
        {
            var writeMethod = WriteMethods <TValue> .Get();

            ulong token;

            if (writeCache.TryGetValue(collection, out token))
            {
                Write(token);
            }
            else
            {
                token = (ulong)writeCache.Count + 1;
                writeCache.Add(collection, token);
                Write(token);
                Write(collection.GetType());

                using (var writer = new Serializer(this))
                {
                    foreach (var value in collection)
                    {
                        writeMethod(writer, value);
                    }
                }
            }
        }
コード例 #2
0
ファイル: Writer.cs プロジェクト: seesharper/BinarySerializer
 public void WriteEnum <T>(T value)
 {
     WriteMethods <T> .Get()(this, value);
 }