private void DisposeDataNodes() { lock ( _dataNodes ) { foreach (IntHashTable.Entry e in _dataNodes) { ResourceTreeDataNode node = (ResourceTreeDataNode)e.Value; node.Dispose(); } _dataNodes.Clear(); } }
private void RemoveNode(JetListViewNode parentNode, IResource resource) { if (parentNode.Nodes.Contains(resource)) { parentNode.Nodes.Remove(resource); } if (!_listView.NodeCollection.Contains(resource)) { ResourceTreeDataNode dataNode = (ResourceTreeDataNode)_dataNodes [resource.Id]; if (dataNode != null) { dataNode.Dispose(); lock ( _dataNodes ) { _dataNodes.Remove(resource.Id); } } } }