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

안녕하세요

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]

... 31  32  33  34  35  36  37  38  39  40  41  42  43  44  [45]  ...
NoWriterDateCnt.TitleFile(s)
4758임기성9/12/201621832MS오피스 워드 64비트에서 32비트 COM개체 사용방법 문의 [2]
4757조영준9/7/201619634DLL 후킹과 관련해서 질문이 있습니다. [2]
4756Kim ...9/6/201621638drag&drop 관련해서 문의 드립니다. [6]
4755stel...9/4/201620243안녕하세요! 윈도우 창에 관련되서 질문입니다.! [3]
4754초보개발자8/25/201619227UWP 의 적용 범위에 대해서 어떻게 생각하십니까? [1]
4753조호찬8/23/201624672sybase 의 한글 가져오기 문의 [7]
4752타미플루8/19/201619302IIS 로그에서 time-taken이 0이 나올수 있나요? [4]
4751김민석8/16/201619359가변크기의 구조체를 SendMessage로 타 프로세스에 전송하는 방법이 있을까요? [1]
4750강준8/13/201619992ElementHost Memory Leak 현상 (아래내용과 동일 첨부 추가^^) [5]파일 다운로드1
4749강준8/11/201619906ElementHost Memory Leak 현상 [6]
4748Bere...8/3/201618849그냥 생각이 들어서 여기 글 써봅니다. [1]
4746힘찬도약8/2/201619168[asp.net] local에서 cookies값이 읽혀지지 않는 경우 [1]
4747힘찬도약8/3/201619947    답변글 [예제 첨부]: [asp.net] local에서 cookies값이 읽혀지지 않는 경우 [3]파일 다운로드1
4745힘찬도약7/27/201619799.NET 자식창 데이터를 부모창에 전달시 오류 질문드립니다. [4]파일 다운로드1
4744변찬연7/27/201620358안녕하세요 그 edge를 이용하는 데 조금 불편함이 있어서 문의드립니다 [1]
4743딸랑구아빠7/26/201618607IE 사용 시 인증 정보 계속 보내기? [1]
4741차가워7/20/201620527UWP 에서 COM 참조 불가능한가요? [6]
4740luna...7/19/201621909clickonce manifest 파일 질문 [1]
4739윤똘씨7/19/201622060정말 감동적입니다... [7]
4738닷넷초보7/7/201620460안녕하세요. C#의 개체 전달방식(참조)에 관련해서 질문 있습니다. [3]파일 다운로드1
4737beau...7/6/201621757python embedding 한 c++ 프로그램의 배포에 관해서 질문드리고 싶습니다. [1]
4736spow...7/6/201618809Property Lambda에 대한 심층 분석을 의뢰합니다 [7]
4735힘찬도약7/5/201620325.Net/Web.config에서 MSSQL을 쓰는데, MysqlSiteMap 참조오류 [3]파일 다운로드1
4734spow...6/28/201619860Visual Studio 2015 + Windows Forms 환경에서 컴파일 할 때 드물게 개발환경이 Crash 됩니다 [1]
4733feel...6/15/201620715타 서버로 소스 이전 중 [3]파일 다운로드1
4732구봉근6/14/201618519안녕하세요 [1]파일 다운로드1
... 31  32  33  34  35  36  37  38  39  40  41  42  43  44  [45]  ...