다음을 통해 공유


리플렉션 내보내기를 사용하여 기호화된 정보 내보내기

리플렉션 내보내기를 사용하면 동적 모듈에 대해 기호화된 정보를 정의할 수 있습니다. 기호화된 정보는 기본 기호 작성기 인터페이스나 호출자가 지정한 기호 작성기 인터페이스를 사용하여 정의될 수 있습니다. 리플렉션 내보내기에서는 System.Diagnostics.SymbolStore 네임스페이스에서 낮은 수준의 기호 작성기 인터페이스를 높은 수준으로 추상화하는 편리한 방법을 제공합니다.

호출자는 동적 모듈을 정의하는 해당 메서드를 호출하여 동적 모듈에 기호화된 정보를 포함하려는 의도를 표시해야 합니다. 기호화된 정보를 사용하여 동적 모듈을 만드는 여러 옵션은 동적 모듈 정의에서 자세히 설명합니다. 기호화된 정보를 포함하려는 의도로 만들지 않은 동적 모듈에 대해 기호 작성기 메서드를 호출하면 오류가 발생합니다.

리플렉션 내보내기에서는 기호화된 정보를 내보낼 수 있는 다음과 같은 메서드를 제공합니다.

  • ModuleBuilder.GetSymWriter 메서드를 사용하여 동적 모듈과 관련된 기호 작성기 인터페이스를 가져올 수 있습니다.

  • ModuleBuilder.SetUserEntryPoint 메서드를 사용하여 동적 모듈에 대한 사용자 진입점을 정의할 수 있습니다. 사용자 진입점은 주 메서드 앞에 호출자 생성 스텁이 아니라 진입점으로서 사용자가 확인한 메서드입니다.

  • 문서 개체는 ModuleBuilder.DefineDocument 메서드를 사용하여 정의됩니다.

  • 기호 저장소에 저장된 사용자 지정 특성은 각각 ModuleBuilder.SetSymCustomAttribute, MethodBuilder.SetSymCustomAttributeConstructorBuilder.SetSymCustomAttribute 메서드를 사용하여 모듈, 메서드 및 생성자에 대해 정의됩니다.

  • 시퀀스 위치는 ILGenerator.MarkSequencePoint 메서드를 사용하여 식별됩니다.

  • 어휘 범위는 ILGenerator.BeginScopeILGenerator.EndScope 메서드를 사용하여 정의됩니다.

  • 메서드나 생성자의 지역 변수 이름은 LocalBuilder.SetLocalSymInfo 메서드를 사용하여 설정할 수 있습니다. 선택적으로 지역 변수의 어휘 범위를 지정할 수 있습니다. LocalBuilder 개체는 ILGenerator.DeclareLocal을 호출하여 가져옵니다.

참고 항목

기타 리소스

리플렉션 내보내기 사용