클래스 프로그램 { 정적 무효 메인 ( 문자열 []에 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 { } 공용 클래스 관리자 : 직원 { } 공용 클래스 직원 { }