'Reflection'에 해당되는 글 1건

  1. 2008.10.30 .NET의 Type Reflection
컴퓨터 프로그래밍2008. 10. 30. 17:02

Visual Studio도 MSDN도 없이 C# 프로그래밍을 한 적이 있습니다. (인터넷도 안됩니다..)
csc와 메모장만으로 프로그래밍을 했었는데 그 때 제가 알고 있던 System.Reflection의 기능들 덕분에 많은 일이 가능했습니다..
알고 있던건 내용으로 우선 typeof로 Type 개체를 가져오고 GetMethods, GetProperties등의 함수로 타입들의 함수, 속성, 이벤트등을 알수 있었습니다. 그래서 이 기능을 이용해서 닷넷 dll을 다 읽어와 모든 타입의 정보를 html로 저장해버렸고, 원하는 타입의 함수, 속성등을 찾아볼 수 있게 되었습니다.
하지만 html파일에 없는 정보를 알고 싶을때는 프로그램을 수정하여 다시 html를 만들어야했기 때문에 시간이 오래걸렸습니다. 그래서 나중에는 System.Net 에 있는 소켓을 사용하여 작은 웹서버를 만들어 원하는 타입의 이름을 입력하면 즉석에서 정보를 가져와 보여주도록 했고, 이것으로 html을 매번 만들필요도 없어졌습니다.

그렇다면 그런 일을 가능하게 해준 이 기능은 어떻게 쓰는 것인가...

일단 Type의 개체는 typeof(타입이름) 혹은 변수.GetType()으로 가져올 수 있습니다.

Type type = typeof(string);

string str = "abc";
Type type = str.GetType();

설명은 일단 MSDN으로 대체합니다.

Posted by orange code