Esempio n. 1
0
        public override Stream GetData(DataAccessMode dataAccessMode)
        {
            if (dataAccessMode == DataAccessMode.ForWriting)
            {
                CloseNotifyingMemoryStream stream = new CloseNotifyingMemoryStream();
                stream.Closing += (s, ea) =>
                {
                    _data           = new byte[stream.Length];
                    stream.Position = 0;
                    stream.Read(_data, 0, _data.Length);
                };

                return(stream);
            }
            else
            {
                return(new MemoryStream(_data, false));
            }
        }
Esempio n. 2
0
        public Stream GetData(bool forWriting)
        {
            if (forWriting)
            {
                CloseNotifyingMemoryStream stream = new CloseNotifyingMemoryStream();
                stream.Closing += (s, ea) =>
                {
                    _data           = new byte[stream.Length];
                    stream.Position = 0;
                    stream.Read(_data, 0, _data.Length);
                };

                return(stream);
            }
            else
            {
                return(new MemoryStream(_data, false));
            }
        }