public override void Write(byte[] buffer, int offset, int count) { // raise the bytes written event byte[] temp = new byte[count]; Array.Copy(buffer, offset, temp, 0, count); BytesWritten(temp); DecoratedInstance.Write(buffer, offset, count); return; }
public override int Read(byte[] buffer, int offset, int count) { int bytesRead = DecoratedInstance.Read(buffer, offset, count); // raise the bytes read event byte[] temp = new byte[bytesRead]; Array.Copy(buffer, offset, temp, 0, bytesRead); BytesRead(temp); return(bytesRead); }
public override void SetLength(long value) { DecoratedInstance.SetLength(value); return; }
public override long Seek(long offset, SeekOrigin origin) { return(DecoratedInstance.Seek(offset, origin)); }
public override void Flush() { DecoratedInstance.Flush(); return; }
//private T decoratedInstance; //public GenericDecorator(T instance) //{ // decoratedInstance = instance; //} //public GenericDecorator() //{ // decoratedInstance = new T(); //} public virtual string SomeMethod() { return("Decorator_" + DecoratedInstance.SomeMethod()); }