クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2008
Visual Studio Team System
Development Edition
高品質なコードの作成
使用方法の警告
 値型の静的フィールドをインラインで初期化します

  低帯域幅での表示をオンにする
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2008/.NET Framework 3.5

その他のバージョンについては、以下の情報を参照してください。
Visual Studio Team System
値型の静的フィールドをインラインで初期化します

更新 : 2007 年 11 月

TypeName

InitializeValueTypeStaticFieldsInline

CheckId

CA2207

カテゴリ

Microsoft.Usage

互換性に影響する変更点

なし

値型で明示的な静的コンストラクタを宣言しています。

値型を宣言すると、既定の初期化が行われます。このとき、値型のフィールドはすべてゼロに設定され、参照型のフィールドはすべて null (Visual Basic では Nothing) に設定されます。明示的な静的コンストラクタは、インスタンス コンストラクタまたはその型の静的メンバが呼び出される前に実行することが保証されているだけです。そのため、インスタンス コンストラクタを呼び出さずに型が作成されると、静的コンストラクタの実行は保証されません。

静的データがインラインで初期化され、明示的な静的コンストラクタが宣言されない場合、C# と Visual Basic のコンパイラによって MSIL クラス定義に beforefieldinit フラグが追加されます。また、コンパイラによって、静的な初期化コードを含むプライベートの静的コンストラクタも追加されます。プライベートの静的コンストラクタは、型の静的フィールドのいずれかにアクセスする前に実行することが保証されます。

この規則違反を修正するには、静的データが宣言されたとき、および静的コンストラクタを削除するときに、静的データをすべて初期化します。

この規則による警告は抑制しないでください。

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker