public void AddCounter() { var logger = new InstrumentLogger(); var counter = new Counter() .Register(logger) .Register(new RuleEngine()) .Register(new InstrumentWindowUI()); Trace.WriteLine("----------- 1 -----------"); counter++; counter++; counter++; Trace.WriteLine("----------- 2 -----------"); counter.Unregister(logger); counter++; }
public void AddCounter() { var counter = new Counter(); var logger = new InstrumentLogger(); counter.OnChanged += logger.Process; // = Register() counter.OnChanged += (x) => { Trace.WriteLine("display new value " + x); }; counter.OnChanged += (x) => { if (x >= 3) { Trace.WriteLine("Alert " + x); } }; Trace.WriteLine("----------- 1 -----------"); counter++; counter++; counter++; Trace.WriteLine("----------- 2 -----------"); counter.OnChanged -= logger.Process; // = Unregister() counter++; }