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/
반응형
'번역 > C# Notes for Professionals' 카테고리의 다른 글
3.20: nameof 연산자 (0) | 2020.11.13 |
---|---|
3.19: 대입 이항 연산자 (0) | 2020.11.11 |
3.17: 후위 (postfix) 증감 및 전위 (prefix) 증감 연산 (0) | 2020.11.10 |
3.16: 클래스 멤버 연산자들: Null 조건부 요소 액세스 (0) | 2020.11.10 |
3.15: 클래스 멤버 연산자들: Null 조건부 멤버 액세스 (0) | 2020.11.10 |