AsyncCompletedEventArgs.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / AsyncCompletedEventArgs.cs / 1 / AsyncCompletedEventArgs.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.ComponentModel 
{ 
    using System.Diagnostics.CodeAnalysis;
    using System.Security.Permissions; 
    using System.Reflection;

    [HostProtection(SharedState = true)]
    public class AsyncCompletedEventArgs : System.EventArgs 
    {
        private readonly Exception error; 
        private readonly bool cancelled; 
        private readonly object userState;
 
        public AsyncCompletedEventArgs(Exception error, bool cancelled, object userState)
        {
            this.error = error;
            this.cancelled = cancelled; 
            this.userState = userState;
        } 
 
        [ SRDescription(SR.Async_AsyncEventArgs_Cancelled) ]
        public bool Cancelled 
        {
            get { return cancelled; }
        }
 
        [ SRDescription(SR.Async_AsyncEventArgs_Error) ]
        public Exception Error 
        { 
            get { return error; }
        } 

        [ SRDescription(SR.Async_AsyncEventArgs_UserState) ]
        public object UserState
        { 
            get { return userState; }
        } 
 
        // Call from every result 'getter'. Will throw if there's an error or operation was cancelled
        // 
        [SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate")]
        protected void RaiseExceptionIfNecessary()
        {
            if (Error != null) 
            {
                throw new TargetInvocationException(SR.GetString(SR.Async_ExceptionOccurred), Error); 
            } 
            else if (Cancelled)
            { 
                throw new InvalidOperationException(SR.GetString(SR.Async_OperationCancelled));
            }

        } 

    } 
}
                        

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