SSブログ

C#とVisual Basicの初期化順序の違い [プログラム]

Visual Basic中学校掲示板にて, 初期化順序について書いたら間違ったので,こちらにも書いておきます。

C#の場合
  1. 派生クラスのフィールド
  2. 基本クラスのフィールド
  3. 基本クラスのコンストラクタ
  4. 派生クラスのコンストラクタ
Visual Basicの場合
  1. 基本クラスのフィールド
  2. 基本クラスのコンストラクタ
  3. 派生クラスのフィールド
  4. 派生クラスのコンストラクタ

行儀の良いプログラムでは問題になりませんが,基本クラスのコンストラクタ中から仮想メソッドを呼び出すと, 動作が変わる(C#ではフィールドが初期化されているがVBでは初期化されていない)可能性があります。


あまりにも公告コメントが多いので,コメント欄を閉じます。


トラックバック(0) 

トラックバック 0

Visual Studio 2008から..Windows Phone 買った ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。