public static void Main() { InventoryManager mgr = new InventoryManager(); InventoryManager.OutOfStockExceptionMethod[] exceptionMethods = new InventoryManager.OutOfStockExceptionMethod[3]; exceptionMethods[0] = new InventoryManager.OutOfStockExceptionMethod(LogEvent); exceptionMethods[1] = new InventoryManager.OutOfStockExceptionMethod(EmailPurchasingMgr); exceptionMethods[2] = new InventoryManager.OutOfStockExceptionMethod(EmailStoreMgr); int location = 1; InventoryManager.OutOfStockExceptionMethod compositeDelegate; if (location == 2) { compositeDelegate = exceptionMethods[0] + exceptionMethods[1]; } else { compositeDelegate = exceptionMethods[0] + exceptionMethods[2]; } mgr.ProcessInventory(compositeDelegate); }
public static void Main() { InventoryManager mgr = new InventoryManager(); InventoryManager.OutOfStockExceptionMethod LogEventCallback = new InventoryManager.OutOfStockExceptionMethod(LogEvent); InventoryManager.OutOfStockExceptionMethod EmailPurchasingMgrCallback = new InventoryManager.OutOfStockExceptionMethod(EmailPurchasingMgr); InventoryManager.OutOfStockExceptionMethod OnHandExceptionEventsCallback = EmailPurchasingMgrCallback + LogEventCallback; mgr.ProcessInventory(OnHandExceptionEventsCallback); }
static void Main(string[] args) { InventoryManager mgr = new InventoryManager(); InventoryManager.OutOfStockExceptionMethod LogEventCallback = new InventoryManager.OutOfStockExceptionMethod(LogEvent); InventoryManager.OutOfStockExceptionMethod EmailPurchaingMgrCallback = new InventoryManager.OutOfStockExceptionMethod(EmailPurchasingMgr); InventoryManager.OutOfStockExceptionMethod OnHandExceptionEventCallback = EmailPurchaingMgrCallback + LogEventCallback; mgr.ProcessInventory(OnHandExceptionEventCallback); Console.ReadLine(); }
static void Main(string[] args) { InventoryManager mgr = new InventoryManager(); InventoryManager.OutOfStockExceptionMethod[] exceptionMethods = new InventoryManager.OutOfStockExceptionMethod[3]; exceptionMethods[0] = new InventoryManager.OutOfStockExceptionMethod(LogEvent); exceptionMethods[1] = new InventoryManager.OutOfStockExceptionMethod(EmailPurchasingMgr); exceptionMethods[2] = new InventoryManager.OutOfStockExceptionMethod(EmailStoreMgr); int location = 2; InventoryManager.OutOfStockExceptionMethod compositeDeleagete; if (location == 2) { compositeDeleagete = exceptionMethods[0] + exceptionMethods[1]; } else { compositeDeleagete = exceptionMethods[0] + exceptionMethods[2]; } mgr.ProcessInventory(compositeDeleagete); Console.ReadLine(); }