有没有什么办法可以将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. OOP封装概念
- 4. 关于封装的概念
- 5. 概念类型中的成员数
- 6. oops概念的类型
- 7. 如何封装具有泛型类型约束的方法
- 8. 如何从概念中检索类型?
- 9. 如何泛型类型强制转换成非泛型类型
- 10. 找不到概念模型类型
- 11. 嵌套类型的类的概念
- 12. 概念端类型'Converter.Session'中成员'SessionId'的类型'Edm.Int32'与类型'系统
- 13. 如何为泛型类指定泛型集合类型?
- 14. 如何注册开放泛型类型,封闭泛型类型并使用autofac装饰两者?
- 15. 如何进入封闭泛型类
- 16. 是否可以将以下类组合成单个泛型类?
- 17. 如何使用泛型类型的泛型列表泛型类
- 18. 检索关闭泛型的泛型类型的未封闭类型
- 19. 一组关系的概念模型
- 20. 如何比较泛型类java的泛型类成员
- 21. OOP概念抽象和封装
- 22. MS Entity Framework如何从概念模型映射到CLR类型?
- 23. 如何分组泛型类?
- 24. Rust中有POD类型的概念吗?
- 25. C中的类型声明(概念)
- 26. 什么时候应该封装泛型类型?
- 27. 从概念数据模型生成UML
- 28. 集合泛型类型
- 29. 更新泛型类的泛型属性?
- 30. 更新实体框架概念模型