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