==
かなり大規模な C# コードベースで使用されているすべての文字列演算子を、String.Equals()
大文字と小文字の区別を明示的に指定するメソッド呼び出しに置き換えることの実現可能性を調査するように依頼されました。
ただし、コードベース内のすべてのオカレンスを特定する方法を見つけ出すには、あまり運がありませんでした。
- 「==」を検索すると、明らかに、比較対象の文字列以外の型の無数のインスタンスが見つかります。
- これを見つけるための StyleCop ルールはないようです。
- ReSharper ルールでもありません。
- 最後の手段として、アセンブリを JustDecompile にロードして、のすべての使用箇所を見つけようとしまし
System.String.op_Equality
たが、次のような LINQ 式内の使用箇所を検出していないようです。.Where(x => x.StringField == stringField)
だから私は少し困惑しており、誰かがこれらの厄介な比較を検索する方法についてアイデアを持っているかどうか疑問に思っていますか?