CmisSync.Lib.Streams.ProgressStream.Read C# (CSharp) Méthode

Read() public méthode

Read the specified buffer, offset and count.
public Read ( byte buffer, int offset, int count ) : int
buffer byte /// Buffer. ///
offset int /// Offset. ///
count int /// Count. ///
Résultat int
        public override int Read(byte[] buffer, int offset, int count) {
            int result = this.Stream.Read(buffer, offset, count);
            this.position += result;
            this.NotifyPropertyChanged(Utils.NameOf(() => this.Position));
            return result;
        }

Usage Example

 public void UpdateLengthIfInputStreamGrowsAfterStartReading() {
     using (var stream = new MemoryStream()) {
         long initialLength = 100;
         long length = initialLength;
         byte[] buffer = new byte[initialLength];
         stream.Write(buffer, 0, buffer.Length);
         using (var progress = new ProgressStream(stream)) {
             progress.PropertyChanged += delegate(object sender, System.ComponentModel.PropertyChangedEventArgs e) {
                 var t = sender as ProgressStream;
                 if (e.PropertyName == Utils.NameOf(() => t.Position)) {
                     Assert.That(t.Position, Is.LessThanOrEqualTo(length));
                     Assert.That(t.Length, Is.LessThanOrEqualTo(length));
                 }
             };
             progress.Read(buffer, 0, buffer.Length / 2);
             stream.Write(buffer, 0, buffer.Length);
             length = length + buffer.Length;
             progress.Read(buffer, 0, buffer.Length / 2);
             progress.Read(buffer, 0, buffer.Length / 2);
             progress.Read(buffer, 0, buffer.Length / 2);
             stream.Write(buffer, 0, buffer.Length);
             length = length + buffer.Length;
             progress.Read(buffer, 0, buffer.Length);
         }
     }
 }
All Usage Examples Of CmisSync.Lib.Streams.ProgressStream::Read