什麼是在下面的任務右側的類層次結構/調用鏈?Encoding.UTF8.GetBytes(「hag」)中的類層次結構/調用鏈是什麼?
byte[] data= Encoding.UTF8.GetBytes("hag");
我目前的理解是這樣的:
UTF8是抽象編碼類的靜態屬性。此屬性實例化並返回型 System.Text.UTF8Encoding的對象。此對象有一個名爲GetBytes方法()其是Encoding.GetBytes的重寫版本()。
1)爲上述說法是否正確?
2)如果上述說法是正確的,是共同使用靜態屬性來實例化一個對象? (它是否與工廠方法模式相同)?
您錯過了類型初始化器(又稱靜態構造器)(如果存在)的激活。 –
@BenVoigt:所以你的意思是在編碼的靜態構造函數中,該對象是否已經創建? –
我的意思是當你訪問UTF8屬性時,在屬性getter運行之前,類的靜態構造函數會運行。其中一個或兩個都可能參與創建實例。 –