2019年09月21日
川俣晶の縁側ソフトウェア技術雑記 total 2426 count

Visual Studio 2019で不適切なLINQ書き換えを提案してくる問題

Written By: 川俣 晶連絡先

 バグレポート上げたら速攻でトリアージされたので、情報だけ書いておきます。

問題 §

 WPFのプロジェクトで、

foreach (var item in (WrapPanelのインスタンス).Children)

        {

            CheckBox ch = item as CheckBox;

            if (ch != null) ch.IsChecked = mode;

        }

 のようなコードがあったとき、Visual Studio 2019がLINQへの書き換えを提案するが、書き換えると【ソース型 'UIElementCollection' のクエリ パターンの実装が見つかりませんでした。】というエラーになる。

原因 §

 不明。(エラーが起きる理由はChildrenの型ではLINQが利用できないから)

解決 §

 書き換えを提案されても書き換えない。

補足 §

 書き換えが間違っているわけではなく、手動で書き換えてもLINQは使えない。