示例#1
0
        private void OnSetEmptied(ActiveListJoinerSet <TLeft, TRight, TResult, TKey> set)
        {
            _joinerLookup.Remove(set.Key);

            set.JoinerAdded   -= OnJoinerAdded;
            set.JoinerRemoved -= OnJoinerRemoved;
            set.SetEmptied    -= OnSetEmptied;

            set.Dispose();
        }
示例#2
0
        private ActiveListJoinerSet <TLeft, TRight, TResult, TKey> CreateJoinerSet(TKey key)
        {
            var set = new ActiveListJoinerSet <TLeft, TRight, TResult, TKey>(_joinBehaviour, key, _rightItems, (l, r) => _resultSelector.Invoke(l, r, ParameterValue), _leftResultSelectorPropertiesToWatch, _rightResultSelectorPropertiesToWatch);

            set.JoinerAdded   += OnJoinerAdded;
            set.JoinerRemoved += OnJoinerRemoved;
            set.SetEmptied    += OnSetEmptied;

            return(set);
        }