레이블이 Anonymous Type인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Anonymous Type인 게시물을 표시합니다. 모든 게시물 표시

2010년 9월 6일 월요일

Anonymous Type(익명형식)

이번엔 익명형식이라는 녀석에 대해 알아볼께요.

익명형식은 이렇게 사용해요.
1.var anonyValue = new {Name = "피요히코", Age=30 };

내부적으로 아래와 같이 변환
01.internal class ???
02.{
03.string _Name;
04.int _Age;
05.public string Name
06.{
07.get{return _Name;} set {_Name = value;}
08.}
09.public int Age
10.{
11.get{return _Age;} set{_Age = value;}
12.}
13.}

알아서 해주는거죠.
대신 이렇게 알아서 하기 위해서
compile시에는 느려지게 됩니다.
(complie때 알아서 알아서 하려면 어쩔수 었겠죠)

대신 컴파일 되고 나서는 성능에 대한 문제는 없다네요

이런 익명형식은
- 이름을 컨트롤 할수가 없어요. (complie시에 알아서 알아서)
- 항상 System.Object를 확장해요
- 필드와 프로퍼티는 항상 read-only에요
- 이벤트나 커스텀메소드등을 지원안해요.
- 항상 묵시적으로 selead에요(상속같은건 못해요)
- 항상 기본생성자를 사용해서 생성되요.