Example #1
0
                    public void OnNext(TFirst value)
                    {
                        lock (_parent._gate)
                        {
                            if (_other.Queue.Count > 0)
                            {
                                var r = _other.Queue.Dequeue();

                                TResult res;
                                try
                                {
                                    res = _parent._resultSelector(value, r);
                                }
                                catch (Exception ex)
                                {
                                    _parent.ForwardOnError(ex);
                                    return;
                                }

                                _parent.ForwardOnNext(res);
                            }
                            else
                            {
                                if (_other.Done)
                                {
                                    _parent.ForwardOnCompleted();
                                    return;
                                }

                                _queue.Enqueue(value);
                            }
                        }
                    }
Example #2
0
                public void OnNext(TFirst value)
                {
                    var hasNext = false;

                    try
                    {
                        hasNext = _rightEnumerator.MoveNext();
                    }
                    catch (Exception ex)
                    {
                        base._observer.OnError(ex);
                        base.Dispose();
                        return;
                    }

                    if (hasNext)
                    {
                        var right = default(TSecond);
                        try
                        {
                            right = _rightEnumerator.Current;
                        }
                        catch (Exception ex)
                        {
                            base._observer.OnError(ex);
                            base.Dispose();
                            return;
                        }

                        TResult result;
                        try
                        {
                            result = _resultSelector(value, right);
                        }
                        catch (Exception ex)
                        {
                            base._observer.OnError(ex);
                            base.Dispose();
                            return;
                        }

                        base._observer.OnNext(result);
                    }
                    else
                    {
                        base._observer.OnCompleted();
                        base.Dispose();
                    }
                }
Example #3
0
        // Token: 0x06000CBD RID: 3261 RVA: 0x000498F4 File Offset: 0x00047AF4
        public void Set(TFirst first, TSecond second)
        {
            TSecond tsecond;

            if (this._firstToSecond.TryGetValue(first, out tsecond) && !tsecond.Equals(second))
            {
                throw new ArgumentException(this._duplicateFirstErrorMessage.FormatWith(CultureInfo.InvariantCulture, first));
            }
            TFirst tfirst;

            if (this._secondToFirst.TryGetValue(second, out tfirst) && !tfirst.Equals(first))
            {
                throw new ArgumentException(this._duplicateSecondErrorMessage.FormatWith(CultureInfo.InvariantCulture, second));
            }
            this._firstToSecond.Add(first, second);
            this._secondToFirst.Add(second, first);
        }
Example #4
0
 (s_Zip__TFirst_TSecond__2__0 = new Func <IAsyncQueryable <object>, IAsyncEnumerable <object>, IAsyncQueryable <ValueTuple <object, object> > >(Zip <object, object>).GetMethodInfo() !.GetGenericMethodDefinition())).MakeGenericMethod(TFirst, TSecond);
 .MakeGenericMethod(TFirst, TSecond, TThird);
 .MakeGenericMethod(TFirst, TSecond);
Example #7
0
 .MakeGenericMethod(TFirst, TSecond, TResult);
Example #8
0
 // Token: 0x06000CBF RID: 3263 RVA: 0x000499C0 File Offset: 0x00047BC0
 public bool TryGetBySecond(TSecond second, out TFirst first)
 {
     return(this._secondToFirst.TryGetValue(second, out first));
 }
Example #9
0
 // Token: 0x06000CBE RID: 3262 RVA: 0x000499B0 File Offset: 0x00047BB0
 public bool TryGetByFirst(TFirst first, out TSecond second)
 {
     return(this._firstToSecond.TryGetValue(first, out second));
 }