내 연기 테스트 중 일부에서 내 어셈블리의 opcode를 구문 분석하기 위해 Mono Cecil을 사용하고 있습니다. 그런 다음 코드 품질 등을 검증하기위한 몇 가지 작업을 수행합니다. 그러나 실제로 수행 할 수있는 작업이 많지 않으므로 생성 된 코드는 신경 쓰지 않습니다. 따라서 InitializeComponent
메서드를 제외합니다. 이 WinForms 잘 작동하지만 xaml 작동하지 않습니다. 즉, xaml의 지침 (즉, 구독중인 이벤트)을 여전히 처리하고 있습니다. 나는 xaml이 "IL"이 아닌 baml로 "컴파일"되었다는 것을 알고 있지만, Mono Cecil은 여전히 baml에서 OpCode를 얻을 수 있습니다. xaml에 해당하는 InitializeComponent
InitializeComponent
가
Application.LoadComponent
메소드를 호출
here 읽고, 그래서 나뿐만 아니라 것을 제외하려고하지만 난 여전히 XAML 지침을 처리했다. 특히 이벤트 핸들러 구독을 확인하고 있습니다.
내 질문
:는InitializeComponent
또는
LoadComponent
이외의 XAML을 컴파일 할 때 호출되는 다른 "후드"방법이 있습니까? 즉, 코드 숨김 (xaml.cs)과 xaml의 차이점을 어떻게 구분할 수 있습니까?