none
C# Static member 什么时候被初始化?

    问题

  • 大家好,我现在遇到一个问题:

        我在考虑这样一个功能:

    class BaseItem

    {

        public BaseItem () { ItemManager.Instance.WaitForLoad(this); }

    }

    // ItemManager... 略

    class ItemA : BaseItem

    {

        public static ItemA A = new ItemA(); // 这个会在什么时候被调用? 我希望这个能把ItemA自动加入到ItemManager.WaitForLoad 里去。

    }

        目前是想确认,静态成员,在什么时候会被初始化。

    2016年12月17日 9:46

全部回复

  • 您好,

    請參考 msdn「静态字段初始化


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2016年12月18日 14:25
  • Hi Young,

    简短回答下你的问题。

    静态成员会在类第一次被使用的时候被初始化,这个使用包括访问类的静态成员或者使用类的构造方法来创建类的实例等。详情请参考@亂馬客 提供的文档。

    Best Regards,
    Li Wang


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2016年12月19日 10:13