示例#1
0
        public static void Main(string[] args)
        {
            Dad obj = new Son(31, 32);

            Console.WriteLine("Boom");
            Son obj3 = obj is Son ? (Son)obj : null;
            Son obj2 = obj as Son;
        }
示例#2
0
        static void Main(string[] args)
        {
            Father son = new Son();
            son.DoWork();
            son.DoVirtualWork();
            son.DoVirtualAll();
            Console.WriteLine("-------------");
            Father aGrandson = new Grandson();
            aGrandson.DoWork();
            aGrandson.DoVirtualWork();
            aGrandson.DoVirtualAll();

            /*output:
             * Father.DoWork()
                Father.DoVirtualWork()
                Son.DoVirtualAll()
                -------------
                Father.DoWork()
                Father.DoVirtualWork()
                Son.DoVirtualAll()
                Grandson.DoVirtualAll()
             */

            //Son son = new Son();
            //son.DoWork();
            //son.DoVirtualWork();
            //son.DoVirtualAll();
            //Console.WriteLine("----------------");
            //Grandson aGrandson = new Grandson();
            //aGrandson.DoWork();
            //aGrandson.DoVirtualWork();
            //aGrandson.DoVirtualAll();

            /*output:
             * Son.DoWork()
                Father.DoVirtualWork()
                Son.DoVirtualWork()
                Son.DoVirtualAll()
                ----------------
                Son.DoWork()
                Father.DoVirtualWork()
                Son.DoVirtualWork()
                Grandson.DoVirtualWork()
                Son.DoVirtualAll()
                Grandson.DoVirtualAll()
             *
             */

            Console.Read();
        }