DOBON.NET DOBON.NETプログラミング掲示板過去ログ

初期化のタイミング?

環境/言語:[WindowsXP , C# , .NET Framework 1.1]
分類:[.NET]

TextBox型(にかかわらず)の変数を宣言したまではいいのですが、
今まで(SDK)は何も考えずに MainClass() コンストラクタ内でインスタンスを作成していたのですが、
VS.NET では、自動的に InitializeComponent() メソッドの中に記述されてしまいます。

以下の各場所でインスタンスを作成した場合、プログラムの実行上、違いはあるのでしょうか?

public class MainClass : Form
{
public TextBox textArea1 = new TextBox(); //ここで new した場合

public MainClass()
{
textArea1 = new TextBox(); //ここで new した場合
Init();
}

public void Init()
{
textArea1 = new TextBox(); //ここで new した場合
}
}
  • 題名: Re[1]: 初期化のタイミング?
  • 著者: よねKEN
  • 日時: 2004/10/16 8:10:49
  • ID: 6747
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No6745に返信(ぴかちる仁志さんの記事)
> VS.NET では、自動的に InitializeComponent() メソッドの中に記述されてしまいます。

VS.NETの開発環境ではフォームデザイナが、
開発しているフォームクラスのインスタンスを生成して表示しています。
InitializeComponentメソッドは単なるこのフォームデザイナの都合です。

> 以下の各場所でインスタンスを作成した場合、プログラムの実行上、違いはあるのでしょうか?

どこでインスタンスを生成しても構いません。
プログラマが必要に応じて決めればよいことです。

DOBON.NET | プログラミング道 | プログラミング掲示板