diff --git a/Orm/Xtensive.Orm/Collections/ChangeNotifierEventArgs.cs b/Orm/Xtensive.Orm/Collections/ChangeNotifierEventArgs.cs deleted file mode 100644 index 43a2f109d..000000000 --- a/Orm/Xtensive.Orm/Collections/ChangeNotifierEventArgs.cs +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (C) 2007-2022 Xtensive LLC. -// This code is distributed under MIT license terms. -// See the License.txt file in the project root for more information. -// Created by: Dmitri Maximov -// Created: 2007.10.15 - -using System; - - -namespace Xtensive.Collections -{ - /// - /// Represents a set of information describing change. - /// - [Serializable] - public readonly struct ChangeNotifierEventArgs - { - /// - /// Gets the object representing some additional change information. - /// - /// The info. - public object ChangeInfo { get; } - - /// - /// Initializes a new instance of this type. - /// - /// The info. - public ChangeNotifierEventArgs(object changeInfo) - { - ChangeInfo = changeInfo; - } - } -} diff --git a/Orm/Xtensive.Orm/Collections/Interfaces/IChangeNotifier.cs b/Orm/Xtensive.Orm/Collections/Interfaces/IChangeNotifier.cs deleted file mode 100644 index 01bd96f68..000000000 --- a/Orm/Xtensive.Orm/Collections/Interfaces/IChangeNotifier.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (C) 2003-2010 Xtensive LLC. -// All rights reserved. -// For conditions of distribution and use, see license. -// Created by: Dmitri Maximov -// Created: 2007.10.15 - -using System; -using Xtensive.Collections; - -namespace Xtensive.Collections -{ - /// - /// An object exposing change related events contract. - /// - public interface IChangeNotifier - { - /// - /// Occurs when this instance is about to be changed. - /// - event EventHandler Changing; - - /// - /// Occurs when this instance is changed. - /// - event EventHandler Changed; - } -} \ No newline at end of file diff --git a/Orm/Xtensive.Orm/Orm/Model/NodeCollection.cs b/Orm/Xtensive.Orm/Orm/Model/NodeCollection.cs index cfcfa73c1..bac4a9452 100644 --- a/Orm/Xtensive.Orm/Orm/Model/NodeCollection.cs +++ b/Orm/Xtensive.Orm/Orm/Model/NodeCollection.cs @@ -18,12 +18,6 @@ namespace Xtensive.Orm.Model public class NodeCollection : CollectionBaseSlim where TNode: Node { - [NonSerialized, DebuggerBrowsable(DebuggerBrowsableState.Never)] - private EventHandler itemChangedHandler; - - [NonSerialized, DebuggerBrowsable(DebuggerBrowsableState.Never)] - private EventHandler itemChangingHandler; - protected IDictionary NameIndex; /// @@ -63,7 +57,6 @@ public override void Add(TNode item) try { base.Add(item); NameIndex.Add(item.Name, item); - TrySubscribe(item); } catch (ArgumentException e){ throw new InvalidOperationException( @@ -88,7 +81,6 @@ public override void AddRange(IEnumerable nodes) public override bool Remove(TNode item) { if (base.Remove(item)) { - TryUnsubscribe(item); NameIndex.Remove(item.Name); return true; } @@ -99,9 +91,6 @@ public override bool Remove(TNode item) public override void Clear() { EnsureNotLocked(); - foreach(var item in this) { - TryUnsubscribe(item); - } base.Clear(); NameIndex.Clear(); } @@ -163,43 +152,6 @@ protected virtual string GetExceptionMessage(string key) return string.Format(Strings.ExItemWithKeyXWasNotFound, key); } - /// - /// Tries to subscribe the collection on - /// change notifications from the specified item. - /// - /// The item to try. - protected void TrySubscribe(TNode item) - { - if (item is IChangeNotifier notifier) { - notifier.Changing += itemChangingHandler; - notifier.Changed += itemChangedHandler; - } - } - - /// - /// Tries to unsubscribe the collection from - /// change notifications from the specified item. - /// - /// The item to try. - protected void TryUnsubscribe(TNode item) - { - if (item is IChangeNotifier notifier) { - notifier.Changing -= itemChangingHandler; - notifier.Changed -= itemChangedHandler; - } - } - - protected virtual void OnItemChanging(object sender, ChangeNotifierEventArgs e) - { - NameIndex.Remove(((TNode) sender).Name); - } - - protected virtual void OnItemChanged(object sender, ChangeNotifierEventArgs e) - { - var tNode = (TNode)sender; - NameIndex.Add(tNode.Name, tNode); - } - /// public override void Lock(bool recursive) { @@ -230,8 +182,6 @@ protected NodeCollection(Node owner, string name, Dictionary name NameIndex = nameIndex; Owner = owner; Name = name; - itemChangingHandler = OnItemChanging; - itemChangedHandler = OnItemChanged; } // Type initializer