スモーク テストの一部では、Mono Cecilを使用してアセンブリのオペコードを解析しています。次に、コードの品質を検証するなどの操作を実行します。ただし、デザイナーで生成されたコードについてはあまり気にしません。それについてできることはあまりないため、InitializeComponent
メソッドを除外します。これは WinForms では問題なく機能しましたが、xaml では機能しないようです。言い換えれば、私はまだ xaml の命令を処理しています (つまり、サブスクライブされているイベント)。xaml が IL ではなく baml に「コンパイル」されていることは知っていますが、Mono Cecil は baml から OpCode を取得できるようです)。
こことここで、xaml でメソッドをInitializeComponent
呼び出すことを読んだApplication.LoadComponent
ので、それも除外しようとしましたが、まだ xaml 命令を処理していました。具体的には、イベント ハンドラーのサブスクリプションを確認しています。
私の質問:または以外に、xaml をコンパイルするときに呼び出される「ボンネットの下」のメソッドはありますInitializeComponent
かLoadComponent
? つまり、コード ビハインド (xaml.cs) と xaml からの命令をどのように区別できますか?