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);
    }
Example #3
0
        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();
        }
Example #4
0
        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();
        }