4

文字列リテラルを静的な文字列に置き換えたときに愚かではないかもしれないが、まれではないエラーは次のようなコードスニペットにつながっていました。おそらく決して決して意図せず、機械にとっても些細なことです。静的な文字列の循環初期化についてVisual Studioが警告しないのはなぜですか?

public partial class T { static string S = S; } 

これはVS Professional 2013、.NET Framework 4.6.0.1055、警告レベル4の診断をトリガーしません。なぜですか?


初期化が最終的に実行されたとき、私は自分自身に、ヌルすなわち、前明示的な初期設定に初期化が十分に定義されていると仮定し、そのデフォルト値の状態で S 'の値を代入するコンパイラで公平に;それはほぼ確実にコーディングエラーです。 Visual Studioの最近のバージョンでは

+0

現在のコンパイラ@ehを更新しません。 –

答えて

6

それは言う:

警告CS1717の割り当ては、同じ変数に行われました。他に何かを割り当てることを意味しましたか?

そう...そのためので不要、* *よく知っているんあなたのIDE :)

+0

Marc、私は謝罪します - 私のバージョンで私のシナリオを再現することはできませんし、あなたもVS2013と同じ警告を受け取ります。私は以来、すべての変更を元に戻したくないので、私は違いが何であるかは言えません。同じではあるが異なる静的変数から割り当てられていた小さいがゼロ以外の可能性がある。 –

関連する問題