我有一個定義了只讀成員的類定義。獲取C中只讀成員的方法
private readonly Dictionary<string, string> map = new Dictionary<string, string>();
現在爲了測試我的設計,我想在其類定義之外訪問此成員。我正在考慮提供一個get
方法,但無法編寫無錯誤語法。
是否可以爲成員分配值(使用new
)並仍然可以定義其方法get
? PS:我是C#語言的新手。
編輯: 我還沒有寫代碼,它只是一個我已經從一個已經寫好的模塊複製的聲明。我在模塊中進行了一些設計更改,並希望在代碼中儘可能少地進行測試,因此我期望在該類之外只讀訪問此成員。
直接公開內部引用類型通常是一個壞主意 - 考慮從屬性或方法返回字典的副本以確保它不會被用戶修改。 – Oded
你是否試圖提供只讀訪問?你知道一個只讀字典仍然是可變的嗎? –
你想要測試什麼? 'readonly'關鍵字意味着變量只能在構造函數中賦值。不是你不能添加或刪除值/鍵。 – esskar