책 정리/Effective C#
item 42, reflection을 단순화하기 위해서 attribute를 사용하라
최익필
2010. 8. 18. 05:06
이 포스트를 만든 목적
- 공부 하려고
이 포스트의 준비물
- gVim 7.3 (드디어 나왔다. lua interface 써보려고 했는데, 왜 안되지?)
내용
우선 reflection 과 attribute에 대한 설명은 생략한다.
reflection과 attribute는 어떤 관계인가?
라면을 먹으면 맛있고, 김치와 함께 먹으면 더 맛있는 것과 같은 관계이다. reflection이 라면이고, attribute가 김치가 된다. 비유하자면 이렇게 된다는 것이다. reflection 으로 얻어올 것들을 attribute으로 정의해두면, 보다 쉽게 reflection 할 수 있다는 것이다.
예를 들어, 메뉴가 자주 바뀌어, 메뉴만 따로 컴파일 하여, 배포할 일이 생겼다고 하자. 이럴 때, 메인 프로그램은 어셈블리 메뉴.DLL 을 읽어 들여, 메뉴를 런타임에 추가해야 할 것이다. 이럴 때, 메뉴에 쓰일 메뉴 이름과 연결시킬 함수를 동적으로 연결 시켜야만 한다. 이때 attribute로 미리 정의해 두었다면, 동적으로 손쉽게 읽고, 추가할 수 있다.
맛보기 코드
귀찮아서 ...
결론
- 변수에 정보를 담는 것는 것에서 타입에도 정보를 담을 수 있다는 관점에서 보기 시작하면, 많은
- 졸렵다.