示例#1
0
 private NamespaceWatcher get(Object watcher, NamespaceWatcher newNamespaceWatcher)
 {
     var weakReference = new WeakReference<NamespaceWatcher>(newNamespaceWatcher);
     WeakReference<NamespaceWatcher> weakExistingValue = map.GetOrAdd(watcher, weakReference);
     NamespaceWatcher existingNamespaceWatcher;
     weakExistingValue.TryGetTarget(out existingNamespaceWatcher);
     return existingNamespaceWatcher ?? newNamespaceWatcher;
 }
示例#2
0
        private NamespaceWatcher get(Object watcher, NamespaceWatcher newNamespaceWatcher)
        {
            var weakReference = new WeakReference <NamespaceWatcher>(newNamespaceWatcher);
            WeakReference <NamespaceWatcher> weakExistingValue = map.GetOrAdd(watcher, weakReference);
            NamespaceWatcher existingNamespaceWatcher;

            weakExistingValue.TryGetTarget(out existingNamespaceWatcher);
            return(existingNamespaceWatcher ?? newNamespaceWatcher);
        }
示例#3
0
        public void clearWatcherReferences(Watcher watcher)
        {
            NamespaceWatcher namespaceWatcher = namespaceWatcherMap.remove(watcher);

            if (namespaceWatcher != null)
            {
                namespaceWatcher.Dispose();
            }
        }