有没有什么办法可以将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中将类型(符合约束条件)类型化为泛型?