protected virtual Action <T> ConsoleOutputOnNext <T>() { Contract.Ensures(Contract.Result <Action <T> >() != null); Contract.Assume(Proxy != null); var observer = new LabObserver <object>(Proxy, ShowTimeOnNext); observer.StartTimer(); return(value => observer.OnNext(value)); }
protected virtual Action <T> ConsoleOutputOnNext <T>(string name, Func <T, string> format) { Contract.Requires(!string.IsNullOrEmpty(name)); Contract.Requires(format != null); Contract.Ensures(Contract.Result <Action <T> >() != null); Contract.Assume(Proxy != null); var observer = new LabObserver <object>(Proxy, name, ShowTimeOnNext); observer.StartTimer(); return(value => observer.OnNext(format(value))); }