|
- 目次
- 目的
- 参考書
- ソースコード
- 実行結果
- 改定記録
|
|
Static constructorは、access modifiers や
parameters を持たず、クラスが初期化されるときに自動的に呼ばれます。 ユーザは Static constructor を直接呼び出すことはできない。
Private Constructorsは、Math class
のような、コンストラクターを使わないクラスの初期化や、必ずインスタンスが1つだけを保障するために使えます。
注意 |
通常のコンストラクターと、スタティックコンストラクターを両方宣言することは可能ですが、コンストラクターの起動順序に依存するような書き方をしてしまうと第3者の可読性が下がり、バグの原因になるので避けたほうが良いです。 |
|
|
(1) MSDN System.TimeZoneクラス |
|
using System;
class StaticConstructor
{
// Static constructor
static StaticConstructor()
{
Console.WriteLine("StaticConstructorが呼び出されました。");
}
public static void Test()
{
Console.WriteLine("Testメソッドが呼び出されました。");
}
}
class MainClass
{
static void Main()
{
Console.WriteLine("StaticConstructor.Test()を呼び出します。");
// オブジェクトを生成せずに、メソッドを呼び出す。
StaticConstructor.Test();
}
} |
|
StaticConstructor.Test()を呼び出します。 StaticConstructorが呼び出されました。 Testメソッドが呼び出されました。
|
|
日付 | コメント |
2004/5/23 | 全体デザイン再構成 |
2002/3/4 | 初版作成 |
|