Example #1
0
        static void Casting()
        {
            Console.ForegroundColor = ConsoleColor.DarkCyan;
            Console.WriteLine("=> Casting Rules");

            object      frank = new Manager("Frank", 9, 3000, 40000, "111111111", 5);
            Employee    moon  = new Manager("Moon", 2, 3001, 20000, "101111111", 10);
            SalesPerson jill  = new PTSalesPerson("Jill", 834, 3002, 100002, "102111111", 90);

            GivePromotion(moon); GivePromotion(jill);
            GivePromotion((Manager)frank);

            object obj = new object();

            try
            {
                GivePromotion((Manager)obj);
            }
            catch (Exception e)
            {
                Console.WriteLine($"Erorr for GiveGromotion(obj): {e.Message}");
            }

            Console.WriteLine($"Types: frank <{frank.GetType().Name}>, moon <{moon.GetType()}>, jill <{jill.GetType().Name}>, obj <{obj.GetType()}>");
        }