public void ChangeEntry(int index, ComponentType entry) { CheckBounds(index); IComponent oldValue = storage[index]; storage[index] = entry; EntryChanged?.Invoke(this, new StorageEntryChangedEventArgs(index, oldValue, entry)); }
public V this[K key] { get { return(dictionary[key]); } set { V oldValue; var removed = TryGetValue(key, out oldValue); if (removed) { EntryRemoved?.Invoke(this, new EntryRemovedEventArgs <K, V>(key, oldValue)); } dictionary[key] = value; EntryAdded?.Invoke(this, new EntryAddedEventArgs <K, V>(key, value)); if (removed) { EntryChanged?.Invoke(this, new EntryChangedEventArgs <K, V>(key, value, oldValue)); } } }
protected virtual void OnEntryChanged() => EntryChanged?.Invoke(this, new EventArgs());
private void InvokeEntryChangedEvent() { EntryChanged?.Invoke(this, new EventArgs()); }