DispatcherProcessingDisabled.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Base / System / Windows / Threading / DispatcherProcessingDisabled.cs / 1 / DispatcherProcessingDisabled.cs

                            using System; 

namespace System.Windows.Threading
{
    ///  
    ///     A structure that allows for dispatcher processing to be
    ///     enabled after a call to Dispatcher.DisableProcessing. 
    ///  
    public struct DispatcherProcessingDisabled : IDisposable
    { 
        /// 
        ///     Reenable processing in the dispatcher.
        /// 
        public void Dispose() 
        {
            if(_dispatcher != null) 
            { 
                _dispatcher.VerifyAccess();
 
                _dispatcher._disableProcessingCount--;
                _dispatcher = null;
            }
        } 

        ///  
        ///     Checks whether this object is equal to another 
        ///     DispatcherProcessingDisabled object.
        ///  
        /// 
        ///     Object to compare with.
        /// 
        ///  
        ///     Returns true when the object is equal to the specified object,
        ///     and false otherwise. 
        ///  
        public override bool Equals(object obj)
        { 
            if ((null == obj) || !(obj is DispatcherProcessingDisabled))
                return false;

            return (this._dispatcher == ((DispatcherProcessingDisabled)obj)._dispatcher); 
        }
 
        ///  
        /// Compute hash code for this object.
        ///  
        /// A 32-bit signed integer hash code.
        public override int GetHashCode( )
        {
            return base.GetHashCode(); 
        }
 
        ///  
        ///     Compare two DispatcherProcessingDisabled instances for equality.
        ///  
        /// 
        ///     left operand
        /// 
        ///  
        ///     right operand
        ///  
        ///  
        ///     Whether or not two operands are equal.
        ///  
        public static bool operator ==(DispatcherProcessingDisabled left, DispatcherProcessingDisabled right)
        {
            return left.Equals(right);
        } 

        ///  
        ///     Compare two DispatcherProcessingDisabled instances for inequality. 
        /// 
        ///  
        ///     left operand
        /// 
        /// 
        ///     right operand 
        /// 
        ///  
        ///     Whether or not two operands are equal. 
        /// 
        public static bool operator !=(DispatcherProcessingDisabled left, DispatcherProcessingDisabled right) 
        {
            return !(left.Equals(right));
        }
 
        internal Dispatcher _dispatcher; // set by Dispatcher
    } 
} 


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK