C#泛型编程指导原则(二)
来源:互联网 发布:aws和阿里云 编辑:程序博客网 时间:2024/05/01 11:44
Item 2: Replace Objects with Type Parameters使用类型参数取代Object类型
在使用泛型之前,程序员一般都依赖于Object类型来获得通用性。如果有这样一个类或者方法:共性的功能,会被应用到不同的类型上,你将由很少的选择来处理。如果没有一个共同的基类或者接口,仅有的方法就是使用通用的类型Object。
如:
public object SendMsg(object sender, object param) {}
当然,这样做是以牺牲类型安全为代价来换取的通用性。
泛型为解决这种类型安全问题引入了一个完美的解决方法,通过使用泛型,可以在类型安全和通用性之间得到平衡。
上面的方法可以改成如下的模式:
public K SendMsg<I, J, K>(I sender, J param) {}
这里来自经验的最基本的规则就是:在代码中应该尽量不使用Object类型,当遇到Object类型时,都应该先问问自己:泛型能否用在这里来减少对Object的依赖。
- C#泛型编程指导原则(二)
- C#泛型编程指导原则(一)
- C#泛型编程指导原则(五)
- C#泛型编程指导原则(三、四)
- C#泛型编程指导原则(六、七)
- C#泛型编程指导原则(十、十一)
- C#泛型编程指导原则(12--14)
- C#泛型编程指导原则(15--16)
- C#泛型编程指导原则(17--18)
- C#泛型编程指导原则(19--23)
- 极限编程指导原则(XP)
- C#类库处理异常指导原则
- C# 泛型编程二
- C#泛型编程知道原则(八、九)
- 指导原则
- C#七大编程原则
- spark中stream编程指导(二)
- VMware虚拟磁盘编程指导(二)
- 上司最恨員工的5大罪行
- boost v1.34.0与stlport编译
- RHCE253实验(服务管理)
- C#泛型编程指导原则(一)
- 关于采集的一点收获
- C#泛型编程指导原则(二)
- Java字符丢失与中文编码
- DataGrid、DataSet导出Excel
- C#泛型编程指导原则(三、四)
- 读使用反射将业务对象绑定到 ASP.NET 窗体控件有感(二)
- mud的颜色
- 使用vss管理我们的代码
- 使用MiddleGen 产生hibernate的数据库表映射文件
- AJAX基础教程——学习笔记(二)