Section 34.1: Anonymous 와 dynamic 타입 비교
Anonymous 타입은 미리 명시적으로 타입을 정의하지 않고도 객체를 생성할 수 있도록 해 주며, 이러한 경우에도 정적 (static) 타입 검사는 이루어지게 된다.
var anon = new { Value = 1 };
Console.WriteLine(anon.Id); // 컴파일 에러
반대로, dynamic
타입은 동적 (dynamic) 타입 검사를 하게 되는데, 이는 컴파일 에러 대신에 런타임 에러를 발생시키게 된다.
dynamic val = "foo";
Console.WriteLine(val.Id); // 컴파일은 되지만 런타임 에러를 throw 하게 된다
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
[출처] https://books.goalkicker.com/CSharpBook/
'번역 > C# Notes for Professionals' 카테고리의 다른 글
34.3: 익명 (anonymous) 타입의 동일성 (equality) (0) | 2021.11.22 |
---|---|
34.2: 익명 (anonymous) 타입 생성하기 (0) | 2021.11.22 |
33.1: 내장 (Built-In) 타입 테이블 (0) | 2021.11.19 |
32.7: 값 타입 (Value type) - bool (0) | 2021.11.19 |
32.6: 값 타입 (Value type) - ushort, uint, ulong (부호가 없는 16 비트, 32 비트, 64 비트 정수들) (0) | 2021.11.19 |