Mega Code Archive

 
Categories / C# Tutorial / Development
 

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;         }     } }