이번엔 익명형식이라는 녀석에 대해 알아볼께요.
익명형식은 이렇게 사용해요.
var anonyValue = new {Name = "피요히코", Age=30 };
아주 간단하죠?
이렇게 하면 내부적으로
이렇게 바꿔준다네요
internal class???
{
string _Name;
int _Age;
public string Name
{
get{return _Name;} set {_Name = value;}
}
public int Age
{
get{return _Age;} set{_Age = value;}
}
}
알아서 해주는거죠.
대신 이렇게 알아서 하기 위해서
compile시에는 느려지게 됩니다.
(complie때 알아서 알아서 하려면 어쩔수 었겠죠)
대신 컴파일 되고 나서는 성능에 대한 문제는 없다네요
이런 익명형식은
- 이름을 컨트롤 할수가 없어요. (complie시에 알아서 알아서)
- 항상 System.Object를 확장해요
- 필드와 프로퍼티는 항상 read-only에요
- 이벤트나 커스텀메소드등을 지원안해요.
- 항상 묵시적으로 selead에요(상속같은건 못해요)
- 항상 기본생성자를 사용해서 생성되요.
출처?는 김수영MVP님의 주말특강입니다
RECENT COMMENT