2011年2月22日火曜日

InitializeComponent が迷子に

ことのおこり

VB.net 2008 で,Form を新しく作ったけれどもコンストラクタがないの。で,もちろん formname.Designer.vb は作られて,その中に Private Sub InitializeComponent() はつくられてて。ためしに動かしてみると,ちゃんと Form は設定したとおりになってて,InitializeComponent() は呼び出されているんだよ。なんで?

ぐぐってみる

コンストラクタ。 がヒット。

ようは,たぶん,

  1. <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> が付いていると,コンストラクタがなくても暗黙的に InitializeComponent() を呼び出す。
  2. 明示的に Public Sub New() を書くと,即座にに InitializeComponent() が挿入される。
ってこと。

0 件のコメント: