Example #1
0
 public void AddFirst(T item)
 {
     lock (SyncRoot)
     {
         buffer.AddFirst(item);
         CollectionChanged?.Invoke(NotifyCollectionChangedEventArgs <T> .Add(item, 0));
     }
 }
Example #2
0
        public void AddFirst(T item)
        {
            lock (SyncRoot)
            {
                if (capacity == buffer.Count)
                {
                    var remItem = buffer.RemoveLast();
                    CollectionChanged?.Invoke(NotifyCollectionChangedEventArgs <T> .Remove(remItem, capacity - 1));
                }

                buffer.AddFirst(item);
                CollectionChanged?.Invoke(NotifyCollectionChangedEventArgs <T> .Add(item, 0));
            }
        }