示例#1
0
 private CopyOnWriteList(CopyOnWriteList <T> other)
 {
     _backing = other._backing;
     if (_backing != null)
     {
         lock (((ICollection)_backing).SyncRoot) {
             _backing.AddRef();
         }
     }
 }
示例#2
0
        private IList <DomObserverTarget> GetItemsForScope(DomObserverEventScope scope)
        {
            IList <DomObserverTarget> list;

            if (!_items.TryGetValue(scope, out list))
            {
                // CopyOnWriteList for observers because it is possible new observers could be added in callbacks
                _items[scope] = list = new CopyOnWriteList <DomObserverTarget>();
            }
            return(list);
        }
示例#3
0
 public bool HasSameBacking(CopyOnWriteList <T> other)
 {
     return(ReferenceEquals(other._backing, _backing));
 }