2009年12月21日月曜日

静的コンストラクタをstaticキーワードを使用して作成し、静的コンストラクタが呼び出されるタイミングを確認してみる。

using System;


class Family
{
    // 静的メンバー
    public static string name;
    // インスタンスメンバー
    public int ninzu;
    // 静的コンストラクタ
    static Family()
    {
        name="Kamimura";
        Console.WriteLine(name);
    }
    public Family()
    {
        ninzu=10;
        Console.WriteLine(ninzu);
    }
    // 静的メソッド
    public static void Name(string s)
    {
        // 静的メンバーにstring sを代入
        name=s;
    }


    public void printOut()
    {
        Console.WriteLine(name);
    }
}


class MainClass
{
    static void Main()
    {
        // 静的かつ既定のコンストラクタを呼び出す
        Family sample = new Family();
        // 出力値:Kamimura 10
        // 静的メンバーにKamimura1を代入
        Family.Name("Kamimura1");
        // 既定のコンストラクタのみを呼び出す
        Family sample1 = new Family();
        // 出力値:10 Kamimura1
        sample1.printOut();
    }
}

0 コメント:

コメントを投稿