private void checkLockModifyChangeAction(DictionaryChangeAction collectionChangeAction) { if (lockModifyChangeActionsKeys.ContainsKey(collectionChangeAction)) { throw new ObservableComputationsException(this, "Modifying of '{collectionChangeAction.ToString()}' change action is locked. Unlock first."); } }
public void LockModifyChangeAction(DictionaryChangeAction collectionChangeAction, object key) { if (key == null) { throw new ArgumentNullException("key"); } if (!lockModifyChangeActionsKeys.ContainsKey(collectionChangeAction)) { lockModifyChangeActionsKeys[collectionChangeAction] = key; } else { throw new ObservableComputationsException(this, $"Modifying of '{collectionChangeAction.ToString()}' change action is already locked. Unlock first."); } }
public void UnlockModifyChangeAction(DictionaryChangeAction collectionChangeAction, object key) { if (key == null) { throw new ArgumentNullException("key"); } if (!lockModifyChangeActionsKeys.ContainsKey(collectionChangeAction)) { throw new ObservableComputationsException(this, "Modifying of '{collectionChangeAction.ToString()}' change action is not locked. Lock first."); } if (ReferenceEquals(lockModifyChangeActionsKeys[collectionChangeAction], key)) { lockModifyChangeActionsKeys.Remove(collectionChangeAction); } else { throw new ObservableComputationsException(this, "Wrong key to unlock modifying of '{collectionChangeAction.ToString()}' change action."); } }
public bool IsModifyChangeActionLocked(DictionaryChangeAction collectionChangeAction) { return(lockModifyChangeActionsKeys.ContainsKey(collectionChangeAction)); }