Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ConsoleInterceptedStream : Stream
- {
- private readonly Stream stream;
- public override bool CanRead => this.stream.CanRead;
- public override bool CanSeek => this.stream.CanSeek;
- public override bool CanWrite => this.stream.CanWrite;
- public override long Length => this.stream.Length;
- public override long Position
- {
- get => this.stream.Position;
- set => this.stream.Position = value;
- }
- public ConsoleInterceptedStream(Stream stream)
- {
- this.stream = stream;
- Console.WriteLine($"CanRead: {stream.CanRead}");
- Console.WriteLine($"CanSeek: {stream.CanSeek}");
- Console.WriteLine($"CanWrite: {stream.CanWrite}");
- Console.WriteLine($"Length: {stream.Length}");
- }
- public override void Flush()
- {
- Console.WriteLine("Flushed");
- }
- public override int Read(byte[] buffer, int offset, int count)
- {
- Console.WriteLine($"Read {offset} {count}");
- return this.stream.Read(buffer, offset, count);
- }
- public override long Seek(long offset, SeekOrigin origin)
- {
- Console.WriteLine($"Seek {offset} {origin}");
- return this.stream.Seek(offset, origin);
- }
- public override void SetLength(long value)
- {
- throw new NotImplementedException();
- }
- public override void Write(byte[] buffer, int offset, int count)
- {
- throw new NotImplementedException();
- }
- protected override void Dispose(bool disposing)
- {
- this.stream.Dispose();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement