2014-03-02 32 views
-1

是否有一個IDictionary接口不支持刪除鍵值對?IDictionary接口沒有刪除()

不幸的是,IReadOnlyDictionary沒有幫助,因爲它不允許修改鍵值對。

如果不是,自己實現一個好的方法是什麼?這是個好主意嗎?

+0

所以,如果我理解正確的話,你希望能夠_change_字典中的條目,但不能_remove_條目? –

+1

這樣做的原因是什麼?你需要一個集合接口,它將成爲公共API的一部分,並且不支持刪除對象嗎? –

+0

@ Chris/Ondrej:是的。 (注意:空值是可以的,但鍵必須總是在字典中 - 由於各種原因) –

回答

-1

在註釋表明.NET中沒有內置接口後,最好創建自己的接口並使用適配器將其實現爲Dictionary<TK,TV>

(如果沒有更好的來了,我要接受兩天的時間我自己的答案)

+0

我們可能需要更多信息。你會公開一個接口或類作爲你的合同的一部分嗎?在第二種情況下,顯式實現和NotSupportedException可能是可行的。此外別忘了EditorBrowseableAtrribute。 –

+0

yupe正如我評論..我會建議你實現接口適配器字典和更改刪除方法..多數民衆贊成它.. –