Visual Studio 디버거의 숨겨진 이름 디코딩
Visual Studio의 C# 컴파일러는 유형, 메서드 및 변수에 대해 개발자에게 표시되지 않는 고유한 내부 이름 시스템을 사용합니다. Reflector와 같은 도구를 통해 공개되는 이러한 "마법의 이름"은 최적화된 지역 변수, 임시 저장 위치 및 컴파일러 생성 요소를 관리하는 데 중요한 기능을 제공합니다.
제한된 문서 및 구현 세부 정보
중요한 점은 이러한 명명 체계는 공식적으로 문서화되지 않았으며 사전 통지 없이 수정될 수 있다는 것입니다. 그러나 다음과 같은 패턴이 관찰되었습니다.
지역 변수 명명 규칙:
__Deleted$
CS$X$Y
(여기서 X
은 임시 변수 유형을 나타내고 Y
해당 인덱스를 나타냅니다.컴파일러 생성 요소 이름:
P<name>C__state$S
P<name>C__current$S
P<name>C__AnonymousMethodDelegate$S
P<name>C__DisplayClass$S
P<name>C__BackingField$S
GeneratedNames.cs 파일
이러한 명명 규칙에 대한 최신 정보는 C# 컴파일러 소스 코드 내의 GeneratedNames.cs
파일을 참조하세요.
PostSharp 2.0과 이러한 이름을 이해하는 것의 중요성
PostSharp 2.0과 같은 도구의 경우 이러한 내부 명명 규칙을 철저히 이해하는 것이 필수적입니다. PostSharp는 이러한 규칙을 준수하여 Visual Studio 내에서 원활하고 일관된 디버깅 환경을 보장합니다.
위 내용은 C# 컴파일러에서 생성된 '마법 이름'은 무엇이며 PostSharp 2.0은 이를 어떻게 활용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!