Code Query and Rule over LINQ (CQLinq)は、生成されたコードを無視する機能を実際に提供します。
ICodeBaseView型のJustMyCodeという便利な定義済みドメインがあります。
ドメインJustMyCodeは、生成されたコード要素を CQLinq クエリ結果から削除する CQLinq の機能を表します。たとえば、次のクエリは、ツール (UI デザイナーなど) によって生成されていない大きなメソッドのみに一致します。
from m in JustMyCode.Methods where m.NbLinesOfCode > 30 select m
生成されたコード要素のセットは、CQLinq キーワードnotmycodeで始まる CQLinq クエリによって定義されます。たとえば、次のクエリは、名前が".designer.cs"で終わるソース ファイルで定義されたメソッドと一致します。
notmycode from m in Methods where
m.SourceFileDeclAvailable &&
m.SourceDecls.First().SourceFile.FileName.ToLower().EndsWith(".designer.cs")
select m
CQLinq クエリ ランナーは、 JustMyCode に依存するクエリの前にすべての notmycode クエリを実行します。したがって、ドメインJustMyCodeは一度だけ定義されます。notmycodeクエリがJustMyCodeドメインに依存している場合、明らかに CQLinq コンパイラはエラーを出力します。
4 つのデフォルトの notmycodeクエリがあり、ニーズに合わせて簡単に調整できます。追加のnotmycodeクエリを作成することもできます。