Beispiel #1
0
            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);
                }
            }
Beispiel #2
0
            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);
                }
            }