最近新学了泛型很开心,很多东西都可以拿来共用。
但是感觉自己有点走火入魔,用得太多,不知道参数到底要传入泛型还是接口。
写法一
public void DoSomething<T>(T obj)
where T: ISomething
写法二
public void DoSomething(ISomething obj)
之前常常写写法一,现在发现写法二也可以编译和正确执行
不知道写法一和写法二的差别是习惯问题还是根本用错泛型了...
希望有人可以替我解答,感谢!!
如果我真的用错泛型了,也想问一下泛型正确的使用时机是什么?