internal bool RemoveAll(EventSubscriberCollection subscriberCollection, object subscriber) { var func = Interlocked.CompareExchange(ref this.removeAll, null, null); if (func.NullReference()) { func = GenerateRemoveAll(); Interlocked.CompareExchange(ref this.removeAll, func, null); } return(func(subscriberCollection, subscriber)); }
internal bool AddAll(EventSubscriberCollection subscriberCollection, object subscriber, bool weakRef) { var func = Interlocked.CompareExchange(ref this.addAll, null, null); if (func.NullReference()) { func = GenerateAddAll(); Interlocked.CompareExchange(ref this.addAll, func, null); } return(func(subscriberCollection, subscriber, weakRef)); }