原創 ReadOnly和Static建構函式

2021-09-30 16:04:50 字數 1061 閱讀 9654

先來看乙個例子:

public sealed class dataaccess

public static dataaccess instance}}

這裡說明兩個知識點

static建構函式:

[quote]  1、靜態建構函式既沒有訪問修飾符,也沒有引數。

--因為是.net呼叫的,所以像public和private等修飾符就沒有意義了。

2、在建立第乙個類例項或任何靜態成員被引用時,.net將自動呼叫靜態建構函式來初始化類。

--也就是說我們無法直接呼叫靜態建構函式,也不可能知道靜態建構函式何時會被呼叫。

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

4、無引數的建構函式可以與靜態建構函式共存。

--儘管引數列表相同,但乙個屬於類,乙個屬於例項,所以不會衝突。

5、最多隻執行一次。

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

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

readonly:

[quote]

只能在下列上下文中對 readonly 字段進行賦值:

當在宣告中初始化變數時,例如:

複製**

public readonly int y = 5;

對於例項字段,在包含字段宣告的類的例項建構函式中;或者,對於靜態字段,在包含字段宣告的類的靜態建構函式中。也只有在這些上下文中,將 readonly 字段作為 out 或 ref 引數傳遞才有效。

注意 readonly 關鍵字與 const 關鍵字不同。const 字段只能在該字段的宣告中初始化。readonly 字段可以在宣告或建構函式中初始化。因此,根據所使用的建構函式,readonly 字段可能具有不同的值。另外,const 欄位為編譯時常數,而 readonly 欄位可用於執行時常數,如下例所示:

注意 public static readonly uint l1 = (uint)datetime.now.ticks;

[/quote]

Linux裡stat命令與stat和lstat函式

1.stat命令,可以獲取檔案的詳細資訊 命令列輸入 stat filename 2.stat函式 標頭檔案 include include include 介面 extern int stat const char restrict file,struct stat restrict buf 引數...

Linux許可權管理和Stat

檔案訪問者的分類 檔案和檔案目錄的所有者 u user 檔案和檔案目錄的所有者所在的組的使用者 g group 其它使用者 o others 檔案訪問許可權的種類 事物屬性 讀 r 對檔案而言,具有讀取檔案內容的許可權 對目 錄來說,具有瀏覽該目錄資訊的許可權 寫 w write對檔案而言,具有修改...

Ajax的readyState和status屬性

readystate屬性包括五種可能的取值 0 未初始化 send方法還沒有被呼叫 1 載入中 已呼叫了send方法,請求還在處理 2 已載入 send方法已完成,整個應答已接收 3 互動中 正在解析應答 4 已完成 應答已經解析,準備好進行下一步處理。物件xmlhttprequest 屬性stat...