是否有一個IDictionary接口不支持刪除鍵值對?IDictionary接口沒有刪除()
不幸的是,IReadOnlyDictionary
沒有幫助,因爲它不允許修改鍵值對。
如果不是,自己實現一個好的方法是什麼?這是個好主意嗎?
是否有一個IDictionary接口不支持刪除鍵值對?IDictionary接口沒有刪除()
不幸的是,IReadOnlyDictionary
沒有幫助,因爲它不允許修改鍵值對。
如果不是,自己實現一個好的方法是什麼?這是個好主意嗎?
在註釋表明.NET中沒有內置接口後,最好創建自己的接口並使用適配器將其實現爲Dictionary<TK,TV>
。
(如果沒有更好的來了,我要接受兩天的時間我自己的答案)
我們可能需要更多信息。你會公開一個接口或類作爲你的合同的一部分嗎?在第二種情況下,顯式實現和NotSupportedException可能是可行的。此外別忘了EditorBrowseableAtrribute。 –
yupe正如我評論..我會建議你實現接口適配器字典和更改刪除方法..多數民衆贊成它.. –
所以,如果我理解正確的話,你希望能夠_change_字典中的條目,但不能_remove_條目? –
這樣做的原因是什麼?你需要一個集合接口,它將成爲公共API的一部分,並且不支持刪除對象嗎? –
@ Chris/Ondrej:是的。 (注意:空值是可以的,但鍵必須總是在字典中 - 由於各種原因) –