コード例 #1
0
 private void checkLockModifyChangeAction(DictionaryChangeAction collectionChangeAction)
 {
     if (lockModifyChangeActionsKeys.ContainsKey(collectionChangeAction))
     {
         throw new ObservableComputationsException(this,
                                                   "Modifying of '{collectionChangeAction.ToString()}' change action is locked. Unlock first.");
     }
 }
コード例 #2
0
        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.");
            }
        }
コード例 #3
0
        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.");
            }
        }
コード例 #4
0
 public bool IsModifyChangeActionLocked(DictionaryChangeAction collectionChangeAction)
 {
     return(lockModifyChangeActionsKeys.ContainsKey(collectionChangeAction));
 }