유형 변환, 사용의 유형뿐만 아니라 안전하고 현재의 것입니다

클래스 프로그램 
    { 
        정적  무효 메인 ( 문자열 []에 args) 
        { 
            // 입력 변환 1. 
            {
                 // 암시 적 변환 : 어떤 전환, 새로운 Employee 객체로 반환 개체는 기본 유형의 직원 인 
                개체 O = 새로운 직원 ( ) 

                // 표시 변환 : 변환 직원으로부터 유래 개체 필요 
                직원 직원 = (사원) O; 
            } 

            // 2 보안 유형 
            {
                 // 관리자가 입력 직원 통상의 동작으로부터 유도되기 때문에 
                관리자 m = 새로운 새 (관리자) ; 
                PromoteEmployee (m); 

                //날짜 시간 형 직원으로부터 유도되지 때문에, 런타임 예외가 발생
                 // 날짜 시간 = newYears 새로운 새 날짜 시간 (2019 ,. 8, 25);
                 // PromoteEmployee (newYears) 
            } 

            // 3 검사의 종류 위상의 유형에 의해 결정된다. 비비 하부 
            / * 
             * 모두, O 직원 참조 다시 여부를 확인 조작자가 고용 O 형과 호환 여부를 확인하기 위해이 먼저 기인 
             * 
             * 검사의 유형, 예외의 결과 만 참 또는 거짓 반환 던져 결코 
             * 
             * * * / 
            { 
                오브젝트 O = 새로운 새로운  개체 ();
                 IF는 ((O는 IS  개체 )) 
                { 

                } 
                IF O ((IS 직원)) 
                { 

                } 
            } 

            // . (4)을 향상시킬 수있는 성능의 종류에 의해 결정되는 변환 유형으로서 
            / *는 
             전환의 타입에 성공하면 변환의 형태로, 상기 객체가 리턴 *, 그렇지 않으면 NULL,이 전환 모드 않을 슬로우 
             * 
             * * * / 
            { 
                오브젝트 O = 새로운 새로운  개체 (); 
                직원 E = O AS ; 직원
                 IF (E =! ) 
                { 

                } 
            } 

            // 5와 같은 식 스위치, 테스트. 
            {
                 오브젝트 O =새로운 새로운  개체 (); 
                직원 E = O AS 직원; 
            } 

            // . 6, 변환 퀴즈 유형 
            {
                 // 변환 디스플레이 보낸 컴파일 오류가 성공적 필요는 없다
                 // ) B = B1 새로운 새로운 객체 (
                 // D = D1 신규 새로운 () 객체 

                // 변환 된 디스플레이가 반드시 성공적으로되지 않기 때문에, 실행 오류 
                B = B1 새로운 새로운 B (); 
                D D1 = (D) B1; 

                // 런타임 오류, 변환은 반드시 성공이기 때문에 
                개체 O는 = 새로운 새로운  개체 (); 
                B의 B2 = (B) O; 
            }
            Console.ReadKey는 (); 
        } 
        // 형 종업원의 파라미터 타입 개체 변경되어야 컴파일 시간에 주어질 수 있기 때문에 
        정적 인  공극 PromoteEmployee ( 오브젝트 O) 
        { 
            직원 E = (사원) O; 
        } 
    } 
    클래스 D : B 
    { 

    } 
    클래스 B 
    { 

    } 
    공용  클래스 관리자 : 직원 
    { 
    } 
    공용  클래스 직원 
    { 
    }

 

추천

출처www.cnblogs.com/lishuyi/p/11408847.html