public override void OnNext(T value) { bool isPassed = false; try { isPassed = parent.predicate(value); } catch (Exception ex) { try { observer.OnError(ex); } finally { Dispose(); } return; } if (isPassed) { TR v = default(TR); try { v = parent.selector(value); } catch (Exception ex) { try { observer.OnError(ex); } finally { Dispose(); } return; } observer.OnNext(v); } }
public override void OnNext(T value) { bool flag = false; try { flag = parent.predicate(value); } catch (Exception error) { try { observer.OnError(error); } finally { Dispose(); } return; } if (flag) { TR val = default(TR); try { val = parent.selector(value); } catch (Exception error2) { try { observer.OnError(error2); } finally { Dispose(); } return; } observer.OnNext(val); } }