преобразование типов, а также тип использования является безопасным и от

Класс программа 
    { 
        статические  недействительный Главный ( Строка [] арг) 
        { 
            // 1, преобразование типа. 
            {
                 // неявные преобразования: нет перехода, возвращает в качестве нового объекта Employee, объект является базовым типом Сотрудника 
                Объект O = новый Сотрудник ( ); 

                // преобразование дисплей: необходимость преобразования, как производное от работника объекта 
                Сотрудник Сотрудник = (Сотрудник) о; 
            } 

            // 2, тип ценной бумаги 
            {
                 // так как менеджер является производным от типа сотрудника, нормальная работа 
                менеджер м = новый новый менеджер () ; 
                PromoteEmployee (м); 

                //Поскольку DateTime не является производным от типа работника, исключение во время выполнения выбрасывается
                 // DateTime = newYears новый новый DateTime (2019 ,. 8, 25);
                 // PromoteEmployee (newYears); 
            } 

            // 3, является тип осмотра, определяется типом фазы. Биби ниже 
            / * 
             * это связано в первую очередь проверить , является ли оператор совместим с типом Employee о, о проверить , ссылка на Служащий снова ли 
             * 
             * тип обследования, никогда не сгенерирует исключение, то результат будет возвращать только истинным или ложным 
             * 
             * * * / 
            { 
                Объект O = новый новый  объект ();
                 ЕСЛИ ((О IS  Объект )) 
                { 

                } 
                ЕСЛИ ((ОIS Сотрудник)) 
                { 

                } 
            } 

            // . 4, как тип преобразования, как определено по типу исполнения могут быть улучшены 
            / * 
             * как тип преобразования, если тип преобразования успешно, то возвращается объект, в противном случае значение, данный режим преобразования никогда не будет выброшен 
             * 
             * * * / 
            { 
                Объект O = новый новый  объект (); 
                Сотрудник Е = о А.С. работника;
                 IF (Е =! нуль ) 
                { 

                } 
            } 

            // 5, тип переключателя как, тест. 
            {
                 Object O =новый новый  объект (); 
                Сотрудник Е = О КАК Работнике; 
            } 

            // . 6, тип преобразования викторины 
            {
                 // ошибка компиляции, поскольку преобразованный дисплей не обязательно успешен
                 // В = В1 новом новом объекте ();
                 // D = D1 , Объект новый новый (); 

                // ошибка запуска, так как преобразованный дисплей не обязательно успешное 
                в = В1 новый новый в (); 
                D D1 = (D) , В1; 

                // ошибка времени выполнения, поскольку преобразование является обязательно получится 
                Объект O = новый новый  объект (); 
                В В2 = (В) О; 
            }
            Console.ReadKey (); 
        } 
        // должен быть изменен параметром типа объекта типа работника, может быть дано во время компиляции , так что 
        статический  недействительный PromoteEmployee ( Объект O) 
        { 
            Сотрудник Е = (Сотрудник) О; 
        } 
    } 
    Класс D: B 
    { 

    } 
    класс B 
    { 

    } 
    общественного  класса руководитель: Работник 
    { 
    } 
    общественного  класса Сотрудник 
    { 
    }

 

рекомендация

отwww.cnblogs.com/lishuyi/p/11408847.html