public void UseObserverTest2()
 {
     var subject = new Subject<string>();
     var result = new List<string>();
     subject
         .UseObserver((observer, value, i) =>
         {
             observer.OnNext(value);
         },
         (error, observer) =>
         {
             observer.OnNext(error.Message);
         },
         observer =>
         {
             observer.OnNext("end");
         })
         .Subscribe(result.Add);
     subject.OnNext("a");
     subject.OnError(new Exception("error!"));
     subject.OnCompleted();
     result.Is("a", "error!");
 }