在我的一些冒煙測試中,我使用來解析我的程序集的操作碼。然後,我執行一些操作來驗證代碼質量等。但是,我並不在乎設計人員生成的代碼,因爲我無法做到這一點,所以我將排除InitializeComponent
方法。這對WinForms運行正常,但似乎不適用於xaml。換句話說,我仍在處理xaml中的指示(即正在訂閱的事件)。我知道xaml被「編譯」成baml而不是IL,但Mono Cecil顯然仍然能夠從baml獲得OpCodes)。InitializeComponent等效於xaml
我讀here和here,在XAML中,InitializeComponent
調用Application.LoadComponent
方法,所以我試圖排除爲好,但我仍在處理XAML指令。我特別要檢查事件處理程序訂閱。
我的問題:是否有比編譯或InitializeComponent
其他LoadComponent
的XAML時被調用的任何其他「引擎蓋下」的方法呢?換句話說,我如何區分來自代碼隱藏(xaml.cs)和xaml的指令?