예제 #1
0
 public void ItemRemoved(T item, AListLeafBase <K, T> parent)
 {
     try {
         for (int i = 0; i < _observers.Count; i++)
         {
             _observers[i].ItemRemoved(item, parent);
         }
     } catch (Exception e) { IllegalException(e); }
 }
예제 #2
0
        protected override TSummary Summarize(AListLeafBase <K, T> data)
        {
            IReadOnlyList <T> data2 = data;
            var array = new TSummary[data2.Count];

            if (array.Length == 0)
            {
                return(_emptyResult);                // unusual
            }
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = _selector(data2[i]);
            }
            return(_aggregator(array));
        }
예제 #3
0
 public void ItemRemoved(T item, AListLeafBase <K, T> parent)
 {
     ItemCount--;
 }
예제 #4
0
 public void ItemAdded(T item, AListLeafBase <K, T> parent)
 {
     ItemCount++;
 }
예제 #5
0
 protected abstract TSummary Summarize(AListLeafBase <K, T> data);
예제 #6
0
 void IAListTreeObserver <K, T> .ItemRemoved(T item, AListLeafBase <K, T> parent) => Forget(parent);