文字列リテラルを静的な文字列に置き換えたときに愚かではないかもしれないが、まれではないエラーは次のようなコードスニペットにつながっていました。おそらく決して決して意図せず、機械にとっても些細なことです。静的な文字列の循環初期化についてVisual Studioが警告しないのはなぜですか?
public partial class T { static string S = S; }
これはVS Professional 2013、.NET Framework 4.6.0.1055、警告レベル4の診断をトリガーしません。なぜですか?
初期化が最終的に実行されたとき、私は自分自身に、ヌルすなわち、前明示的な初期設定に初期化が十分に定義されていると仮定し、そのデフォルト値の状態で
S
'の値を代入するコンパイラで公平に;それはほぼ確実にコーディングエラーです。 Visual Studioの最近のバージョンでは
現在のコンパイラ@ehを更新しません。 –