今週の最初の編集に向かう途中で、面白いことが起こりました。このコード行に出くわしました:
if (SetFetchTab)
tabMain.SelectedIndex = 1;
...そして、まあ、それを const にして読みやすくし、後でこの条件に追加のコードを追加する必要がある場合に備えて、中括弧で囲みます。
const int FETCH_TAB = 0;
const int CONNECTION_TAB = 1;
. . .
if (SetFetchTab)
{
tabMain.SelectedIndex = CONNECTION_TAB;
}
しかし、好奇心に負けて、SetFetchTab に値が割り当てられている場所を見つけることにしました...そうではありません-宣言されている場所に暗黙的に割り当てられた false/0 を除いて:
public static bool SetFetchTab;
ある時点で、別のフォームが条件付きで SetFetchTab を 0 または 1 に設定していましたが、そのコードは現在コメント アウトされています。したがって、上記の条件が真になることは決してなく、SelectedIndex には CONNECTION_TAB/1 が割り当てられることはありません。では、なぜこのブロックがグレイ表示されず、デッド コードであることを示しているのでしょうか?
ところで、tabMain.SelectedIndexには0 が割り当てられないため、FETCH_TAB は灰色化され、無効な宣言として認識されます。したがって、これを使用する場所がありませんでした。