using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace FileWatcher { public class EventRaisingStreamWriter : StreamWriter { public event EventHandler> StringWritten; public EventRaisingStreamWriter(Stream s) : base(s) { } private void LaunchEvent(string txtWritten) { if (StringWritten != null) { StringWritten(this, new MyEvtArgs(txtWritten)); } } public override void Write(string value) { base.Write(value); LaunchEvent(value); } public override void Write(bool value) { base.Write(value); LaunchEvent(value.ToString()); } } }