有沒有什麼辦法可以將Dictionary封裝成像DataDictionary這樣的新類型,這樣就可以不用在需要改變定義的地方使用它,而是可以在少數幾個地方改變它。或者我應該把這個包裝在另一個只暴露我需要的方面的類中?如何將泛型組合的概念封裝成新類型?
3
A
回答
4
字典是不密封的,所以如果你想有一個正確的分型,做
class DataDictionary<K, V> : Dictionary<K,V>
{
}
而另一種選擇是:
class DataDictionary<K, V>
{
private Dictionary<K,V> _data;
}
,讓你更自由地設計自己的類型。
如果你指的是「如何消除類型參數」,使用這樣的:
class DataDictionary : Dictionary<string, int>
{
}
1
可以使用您的代碼文件的頂部指令中使用。
using DataDictionary = Dictionary<int,int>
但是如果你有很多的代碼文件,封裝或者繼承使用此數據字典是更加首選。
相關問題
- 1. 封裝概念
- 2. 概念類型中的成員數
- 3. oops概念的類型
- 4. 如何從概念中檢索類型?
- 5. 嵌套類型的類的概念
- 6. 概念端類型'Converter.Session'中成員'SessionId'的類型'Edm.Int32'與類型'系統
- 7. 如何註冊開放泛型類型,封閉泛型類型並使用autofac裝飾兩者?
- 8. 如何進入封閉泛型類
- 9. 是否可以將以下類組合成單個泛型類?
- 10. 如何使用泛型類型的泛型列表泛型類
- 11. OOP概念抽象和封裝
- 12. 如何比較泛型類java的泛型類成員
- 13. MS Entity Framework如何從概念模型映射到CLR類型?
- 14. 如何分組泛型類?
- 15. Rust中有POD類型的概念嗎?
- 16. C中的類型聲明(概念)
- 17. 什麼時候應該封裝泛型類型?
- 18. 從概念數據模型生成UML
- 19. 集合泛型類型
- 20. 更新泛型類的泛型屬性?
- 21. 概念類型找不到對應的對象層類型
- 22. 將兩個泛型數組合併成一個具有泛型的Swift字典
- 23. 有沒有包裝非泛型集合的泛型集合庫?
- 24. 如何編組/將ContentValues插入到ContentProvider的泛型類型?
- 25. 與約束概念模型
- 26. 如何有一個泛型類型從一個泛型類型
- 27. 值類型和參考類型只是c#概念?
- 28. 瞭解java泛型中的一些概念
- 29. 需要幫助瞭解java的泛型概念
- 30. 如何在Swift中將類型(符合約束條件)類型化爲泛型?