EventArgs Demo : EventArgs : Development C# Examples


C# Examples » Development » EventArgs »

 

EventArgs Demo









    
using  System;


public  class  Starter  {
        public  static  void  Main()  {
                Bank  account  =  new  Bank();
                account.NonSufficientFund  +=  NonSufficientFundHandler;
                account.Deposit(500);
                account.Withdrawal(750);
        }

        public  static  void  NonSufficientFundHandler(object  o,BankEventArgs  e)  {
                Console.WriteLine("NonSufficientFund  Transaction");
                Console.WriteLine("Balance:  {0}",  e.Balance);
                Console.WriteLine("Transaction:  {0}",e.Transaction);
        }

}

public  delegate  void  OverDrawn(object  o,  BankEventArgs  e);

public  class  Bank  {
        public  event  OverDrawn  NonSufficientFund;

        public  decimal  Deposit(decimal  amountDeposit)  {
                propBalance  +=  amountDeposit;
                return  propBalance;
        }

        public  decimal  Withdrawal(decimal  amountWithdrawn)  {
                decimal  newBalance  =  propBalance  -  amountWithdrawn;
                if  (newBalance  <  0)  {
                        if  (NonSufficientFund  !=  null)  {
                                BankEventArgs  args  =  new  BankEventArgs(Balance,  amountWithdrawn);
                                NonSufficientFund(this,  args);
                        }
                        return  propBalance;
                }
                return  propBalance  =  newBalance;
        }
        private  decimal  propBalance  =  0;
        public  decimal  Balance  {
                get  {
                        return  propBalance;
                }
        }

}

public  class  BankEventArgs  :  EventArgs  {

        public  BankEventArgs(decimal  amountBalance,decimal  amountTransaction)  {
                propBalance  =  amountBalance;
                propTransaction  =  amountTransaction;
        }

        private  decimal  propBalance;
        public  decimal  Balance  {
                get  {
                        return  propBalance;
                }
        }

        private  decimal  propTransaction;
        public  decimal  Transaction  {
                get  {
                        return  propTransaction;
                }
        }
}
    
   
  
   




HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Development
» EventArgs