关闭

C#泛型编程指导原则(二)

标签: 编程c#objectparameters
642人阅读 评论(0) 收藏 举报
分类:

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的依赖。

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:306416次
    • 积分:4271
    • 等级:
    • 排名:第7062名
    • 原创:79篇
    • 转载:33篇
    • 译文:55篇
    • 评论:103条
    文章分类
    最新评论