protected virtual IObserver <object> ConsoleOutput() { Contract.Ensures(Contract.Result <IObserver <object> >() != null); Contract.Assume(Proxy != null); var observer = new LabObserver <object>(Proxy, ShowTimeOnNext); observer.StartTimer(); return(observer); }
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))); }
protected virtual Func <IObserver <object> > ConsoleOutput(string name) { Contract.Requires(!string.IsNullOrEmpty(name)); Contract.Ensures(Contract.Result <Func <IObserver <object> > >() != null); return(() => { Contract.Ensures(Contract.Result <IObserver <object> >() != null); var observer = new LabObserver <object>(Proxy, name, ShowTimeOnNext); observer.StartTimer(); return observer; }); }