Exemplo n.º 1
0
 /// <summary>
 /// Fires 'tree updates pending' event on the main thread context
 /// </summary>
 /// <param name="textChanges">List of pending changes</param>
 internal void FireOnUpdatesPending()
 {
     Check.InvalidOperation(() => Thread.CurrentThread.ManagedThreadId == _ownerThread, _threadCheckMessage);
     try {
         UpdatesPending?.Invoke(this, EventArgs.Empty);
     } catch (Exception ex) {
         Debug.Assert(false, Invariant($"Exception thrown in a tree.UpdatesPending event handler: {ex.Message}"));
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Fires 'tree updates pending' event on the main thread context
        /// </summary>
        /// <param name="textChanges">List of pending changes</param>
        internal void FireOnUpdatesPending(IReadOnlyCollection <TextChangeEventArgs> textChanges)
        {
            if (_ownerThread != Thread.CurrentThread.ManagedThreadId)
            {
                Debug.Fail(_threadContextInvalidMessage);
                return;
            }

            try {
                UpdatesPending?.Invoke(this, new TreeUpdatePendingEventArgs(textChanges));
            } catch (Exception ex) {
                Debug.Assert(false, Invariant($"Exception thrown in a tree.UpdatesPending event handler: {ex.Message}"));
            }
        }