문제

.NET 3.0 (또는 이전)에 메소드의 문자열 표현을 얻는 방법이 있습니까? 메소드 바디 객체에서 IL 바이트 배열을 얻을 수 있다는 것을 알고 있지만, 내 눈에 표시되는 방법 본문을 본질적으로 표현하는 문자열을 얻는 데 관심이 있습니다.

Codedom 네임 스페이스에서 런타임에 메소드를 CodememberMethods로 변환 할 수있는 방법이 있는지 확인했지만 지금까지 건조되었습니다.

이견있는 사람?

도움이 되었습니까?

해결책

그것은 매우 복잡한 작업입니다. 기본적으로, 당신은 재 작성을보고 있습니다 반사기 코드에서 ... 모든 IL을 반전 할 수는 없다는 것을 잊지 마십시오.

짧은 대답은 "아니오, 내장 된 것은 없다"입니다.

표현 나무조차도 (람다 출신)도 가능하지 않습니다 충분히 적절한 문자열로 쉽게 되돌아갔습니다.

다른 팁

리플렉터 API와 함께 찌르십시오 (Red Gate가 인수 한 후에도 사용할 수 있는지 확인하고 싶을 수도 있습니다).

여전히 성공하더라도 로컬 변수 이름, 댓글 또는 일부 형식과 같은 원본 정보 중 일부를 잃게됩니다.

기본적으로 편집 중에 버려진 모든 것은 선을 위해 손실됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top