コード例 #1
0
        public void UpdateIncludes([NotNull] FileSystemPath includer, [NotNull] ICollection <FileSystemPath> includees)
        {
            lock (_locker) {
                foreach (FileSystemPath includee in _includerToIncludees[includer])
                {
                    _includeeToIncluders.Remove(includee, includer);
                }
                _includerToIncludees.RemoveKey(includer);

                if (includees.Count > 0)
                {
                    _includerToIncludees.AddRangeFast(includer, includees);
                    foreach (FileSystemPath includee in includees)
                    {
                        _includeeToIncluders.Add(includee, includer);
                    }
                }
            }
        }