익명형식은 이렇게 사용해요.
1.var anonyValue = new {Name = "피요히코", Age=30 };내부적으로 아래와 같이 변환
01.internal class ???02.{03.string _Name;04.int _Age;05.public string Name06.{07.get{return _Name;} set {_Name = value;}08.}09.public int Age10.{11.get{return _Age;} set{_Age = value;}12.}13.}알아서 해주는거죠.
대신 이렇게 알아서 하기 위해서
compile시에는 느려지게 됩니다.
(complie때 알아서 알아서 하려면 어쩔수 었겠죠)
대신 컴파일 되고 나서는 성능에 대한 문제는 없다네요
이런 익명형식은
- 이름을 컨트롤 할수가 없어요. (complie시에 알아서 알아서)
- 항상 System.Object를 확장해요
- 필드와 프로퍼티는 항상 read-only에요
- 이벤트나 커스텀메소드등을 지원안해요.
- 항상 묵시적으로 selead에요(상속같은건 못해요)
- 항상 기본생성자를 사용해서 생성되요.
댓글 없음:
댓글 쓰기