C# 泛型与事件编程全解析
1. 泛型基础与 T
的含义
在编程中,若为 int
类型编写 LogInt
函数,即便先将 GameObject
转换为 int
,该函数也无法正常工作,毕竟僵尸可不是简单的数字。这表明不同类型不应随意混合使用。若没有泛型,对于每种能转换为字符串并在控制台面板记录的类型,都需编写不同的函数,这既浪费时间又不切实际。而泛型 <T>
的出现解决了这一问题。
我们使用标识符 T
表示函数中预期在其他地方复用的类型,这只是一种约定,并非严格规则。我们也可以打破这个约定,用其他类型标识符编写相同的函数,但这并不合适。 T
作为一种约定,自首次实现以来一直沿用,就像 for
循环通常写成 for (int i; i < 10; i++)
一样, int i
看起来很合适,推测 i
可能来自 integer
或 index
。遵循 T
这个约定能让其他程序员更易理解代码意图。
在实际应用中,当多个类相互继承行为时,调用某个函数时,可能希望某个类的反应与其他类不同。例如,用木桩刺穿吸血鬼心脏和僵尸心脏的效果截然不同,调用相同的 OnStakedThroughHeart()
函数