Section 3.18: typeof

특정 타입에 대한 System.Type 객체를 얻어온다.

System.Type type = typeof(Point) //System.Drawing.Point System.Type type = typeof(IDisposable) //System.IDisposable System.Type type = typeof(Colors) //System.Drawing.Color System.Type type = typeof(List<>) //System.Collections.Generic.List`1[T]

런타임 형식 (run-time type) 을 확인하고자 한다면, GetType 메소드를 사용하여 현재 인스턴스의 System.Type 을 얻어올 수 있다.

typeof 연산자는 컴파일 타임에 명시되는 타입 이름을 파라미터로 받게 되어있다.

public class Animal {} public class Dog : Animal {} var animal = new Dog(); Assert.IsTrue(animal.GetType() == typeof(Animal)); // 실패, animal 은 typeof(Dog) 이다 Assert.IsTrue(animal.GetType() == typeof(Dog)); // 성공, animal 은 typeof(Dog) 이다 Assert.IsTrue(animal is Animal); // 성공, animal 은 Animal 을 구현 (implement) 한다
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts