puremvc 呼叫順序解讀

2022-08-11 19:15:14 字數 835 閱讀 5688

我用的是位於鏈結上的工程。

1. 在main.cs中,有一段**

1

void

awake ()

2

但是unityfacade.cs檔案中單步跟蹤的時候卻發現先走的是這一步

1

static

unityfacade()

25

然後再走的這一步

1

public

static

unityfacade getinstance()

2

查閱文件後發現,靜態建構函式是c#的乙個新特性,其實好像很少用到。不過當我們想初始化一些靜態變數的時候就需要用到它了。這個建構函式是屬於類的,而不是屬於**例項的,就是說這個建構函式只會被執行一次。也就是在建立第乙個例項或引用任何靜態成員之前,由.net自動呼叫。

在使用靜態建構函式的時候應該注意幾點:

1、靜態建構函式既沒有訪問修飾符,也沒有引數。因為是.net呼叫的,所以像public和private等修飾符就沒有意義了。

2、是在建立第乙個類例項或任何靜態成員被引用時,.net將自動呼叫靜態建構函式來初始化類,也就是說我們無法直接呼叫靜態建構函式,也就無法控制什麼時候執行靜態建構函式了。

3、乙個類只能有乙個靜態建構函式。

4、無引數的建構函式可以與靜態建構函式共存。儘管引數列表相同,但乙個屬於類,乙個屬於例項,所以不會衝突。

5、最多隻執行一次。

6、靜態建構函式不可以被繼承。

7、如果沒有寫靜態建構函式,而類中包含帶有初始值設定的靜態成員,那麼編譯器會自動生成預設的靜態建構函式。

定位 js解讀順序

絕對定位 absolute 1 絕對定位是脫離了文件流,不會單獨佔滿一行,他的方位只會受到top,left,bottom,right的影響 2 乙個塊的top,left,bottom,right是相對於什麼那?2.1 如果它的父元素做了定位,就相對於的是最近的乙個父元素。2.2 父元素沒有定位,就相...

C 呼叫順序

1.基類建構函式被呼叫的順序以類派生表中宣告的順序為準.class a void showmsg protected void showmsg2 private int num class b private a void showmsgb void showmsgb2 class e class ...

view viewGroup 呼叫順序

view onmeasure 0 0 view onmeasure 0 0 viewgroup onmeasure 0 0 view onmeasure 0 0 view onmeasure 0 0 viewgroup onmeasure 0 0 viewgroup onsizechanged 10...