Microsoft MVP성태의 닷넷 이야기
C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [링크 복사], [링크+제목 복사],
조회: 14031
글쓴 사람
민우
홈페이지
첨부 파일
 

안녕하세요

c++ 소스를 빌드하면 auto 키워드가 추론타입으로 치환되고, 템플릿 코드가 타입별로 코드가 확장되서 컴파일 되듯이
C# 에서도 IDisposable 구현객체를 using 키워드 사용시 close 같은 자원반납 메소드 코드를 자동으로 추가해주는걸로 알고있습니다.

이렇게 프로그래머가 작성한 코드가 변환과정을 거친다면
컴파일되기 직전의 변환된 c# 코드는 얼마나 변환과정을 거쳤는지, close 메소드가 정확히 어디에 추가되는지 등을 직접 확인해보고싶습니다.


변환된 코드를 확인할 방법이 있는지 궁금합니다.
감사합니다~~








[최초 등록일: ]
[최종 수정일: 1/26/2021]


비밀번호

댓글 작성자
 



2021-01-27 06시14분
변환된 코드를 중간 확인하는 방법은 없습니다. (아마도 Roslyn을 이용한 확장 같은 걸로 만들어져 있는지는 모르겠지만.)

단지, 변환되어 빌드된 결과물을 가지고 역컴파일을 해주는 도구들을 이용해,

새로운 닷넷 디컴파일러 - Telerik JustDecompile
; https://www.sysnet.pe.kr/1/0/973

어떻게 코드가 생성되었는지를 살펴볼 수는 있습니다. 예를 들어 아래의 글을 보면,

공용 프로퍼티 자동 생성
; https://www.sysnet.pe.kr/2/0/475

공용 프로퍼티가 생성한 코드를 확인하기 위해 .NET Reflector로 열어본 사례를 설명하고 있습니다.

(참고로, C#의 var가 어떤 타입으로 결정되었는지는 비주얼 스튜디오의 편집기에서 해당 변수나 var 예약어에 마우스를 가져가면 툴팁으로 어떤 타입으로 해석되었는지 보여줍니다.)
정성태
2021-01-27 10시01분
[민우] 네 잘 참고 하겠습니다 감사합니다~! ^^
[guest]

... 61  62  63  64  [65]  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
979왕초보7/1/201117927Apache + IIS Redirect [2]
9776/16/201122249웹컨트롤 어느거 쓰는게 좋나요 [1]
976박성준6/13/201117706VS2008 Add-in 구현 관련 질문 [4]
972김길6/6/201120001메모리 해제 예외 처리 관련.. [2]
971강동원5/29/201117540firebird install건 [1]
970임동찬5/18/201118328ASP.net 솔루션 디버깅 관련 [1]
969이성환5/4/201119944WMI 를 사용하지 않고 하드웨어 정보를 가져올 수 없을까요? [3]
968김동미4/28/201119402안녕하세요 다시 한번 문의를 드립니다.. [2]파일 다운로드1
967임동찬4/22/201122107C# using문 관련 [9]
964김동미4/18/201119729wcf IsOneWay 속성관련 문의 입니다..
965정성태4/18/201121114    답변글 [답변]: wcf IsOneWay 속성관련 문의 입니다..
966김동미4/19/201118958        답변글 [답변]: [답변]: wcf IsOneWay 속성관련 문의 입니다.. [1]
963최재훈4/12/201117320wcf inactivityTimeout 설정시 문의 사항이 있습니다. [2]
962임동찬4/8/201116954TFS 사용관련 [1]
961임동찬4/7/201117280XSD & XML & XmlCodeGenerator [2]
960임동찬4/5/201118796XML Schema Editor [4]
959immm3/24/201116595로그인 연동 어려운 건가요? [1]
958꼭지3/3/201118684Supporting compressed request in WCF 3.5 [5]
957임동찬2/21/201119187WCF channel faulted 관련 [2]
956윤용한2/18/201122616WaitHandle.WaitOne 과 Stopwatch에 관한 질문 [3]
955최광욱2/17/201119274TFS 에서 소스 영구 제거 방법 [1]
954한장우2/16/201116975atl activeX 질문이요~ [1]
952박용운2/16/201117810IE8.0에서 BHO [1]
953박용운2/16/201117821    답변글 [답변]: IE8.0에서 BHO
951임동찬2/11/201117882WCF Service Reference [1]
950이성환2/9/201119294Windows application 프로젝트를 참조 했을 때 생성되는 실행파일을 직접 실행 불가능하도록 하고 싶습니다. [6]파일 다운로드1
... 61  62  63  64  [65]  66  67  68  69  70  71  72  73  74  75  ...