.NETコンストラクタ

オブジェクトのインスタンス化

コンストラクタは、オブジェクトをインスタンス化して初期化します。コンストラクタは、メソッド名がクラス名と同じになっているメソッドです。たとえば、StringBuilderオブジェクトは、StringBuilder()という名前のコンストラクタを持っています。複数のコンストラクタ(各々パラメータの異なるセット)が存在する場合があります。

コンストラクを使用する場合は、一度だけ実行する必要があります。二度目に実行されると、オブジェクトの新しいインスタンスが作成されます。結果として、どこでコンストラクタを定義するべきか、気をつける必要があります。

リッチクライアントタスクとして動作させる場合、[タスク前]はクライアント側の処理コマンドを使用することができません。そして、.NETはクライアントで実行させる必要があります。このため、[タスク前]でコンストラクタを実行させることはできません(オフラインタスクの場合はクライアント処理になるため例外)。どこでコンストラクタを定義するべきかを考慮した場合、以下の点に気付くはずです。

たとえば、フォントを定義したい場合、コントロールの[フォント]特性にコンストラクタのメソッドを直接定義することができます。しかし、この場合、フォームが再表示される度にコンストラクタが呼び出されます。このような時は、フォントのコンストラクタで更新する特別なデータ項目を作成して、コントロールの[フォント]特性でそのデータ項目を使用するようにしてください。