Ejemplo n.º 1
0
        /// <summary>
        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
        /// </summary>
        public void Dispose()
        {
            lock (this)
            {
                if (!Disposed)
                {
                    Disposed = true;
                    GC.SuppressFinalize(this);

                    if (FMemoryStream != null)
                    {
                        FMemoryStream.Close();
                        FMemoryStream.Dispose();
                        FMemoryStream = null;
                    }

                    if (FWriter != null)
                    {
                        FWriter.Close();
                        FWriter.Dispose();
                        FWriter = null;
                    }

                    if (FReader != null)
                    {
                        FReader.Close();
                        FReader.Dispose();
                        FReader = null;
                    }
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FastBinaryFormatter"/> class.
 /// </summary>
 public FastBinaryFormatter()
 {
     Disposed      = false;
     FLengthBuffer = new byte[Marshal.SizeOf(typeof(int))];
     FCopyBuffer   = new byte[STREAM_MAX_CAPACITY];
     FMemoryStream = new MemoryStream(STREAM_MAX_CAPACITY);
     FWriter       = new FastBinaryWriter(FMemoryStream);
     FReader       = new FastBinaryReader(FMemoryStream);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Reads the data.
 /// </summary>
 /// <param name="reader">The reader.</param>
 /// <param name="additonalInfo">The additional information.</param>
 void IFastBinarySerializable.ReadData(FastBinaryReader reader, object additonalInfo)
 {
     Items = reader.ReadEnumerable <T>();
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Reads the data.
 /// </summary>
 /// <param name="reader">The reader.</param>
 /// <param name="additionalInfo">The additional information.</param>
 public virtual void ReadData(FastBinaryReader reader, object additionalInfo)
 {
     ObjectData = reader.ReadByteArray();
 }