4

LINQ メソッド チェーンで誤った代入式が発生しました。これにより、foreach ループで使用される列挙子 (IEnumerable) が、目的のコレクション アイテムを反復処理する代わりに、ループ ブロックに入ることはありませんでした。以下は、反復子を作成するために使用される不適切な式の簡単な例です。

itemCollection.Where(theItem => theItem.status = false);

明らかに、これはこのような単純な LINQ メソッド チェーンで比較的簡単にキャッチできますが、より複雑なケース、特に複数のイテレータまたは複雑なクラスによって提供されるイテレータが関係するケースでは、バグを追跡するのに時間がかかる可能性があります。LINQ メソッド チェーンの割り当てにフラグを立てる Visual Studio の設定はありますか?

4

1 に答える 1

1

ReSharperは、これを「割り当てられた値はどの式でも使用されていません」とマークします。Virtlinkが指摘したように、オブジェクトフィールドに割り当てが行われた場合、Resharperはエラーを出しません。VS設定はないと思いますが、そのためのプラグインを書けると思います。

于 2013-02-21T00:27:19.537 に答える