[問題] 泛型使用時機/參數傳入泛型或是interface
最近新學了泛型很開心,很多東西都可以拿來共用。
但是感覺自己有點走火入魔,用得太多,不知道參數到底要傳入泛型還是介面。
寫法一
public void DoSomething<T>(T obj)
where T: ISomething
寫法二
public void DoSomething(ISomething obj)
之前常常寫寫法一,現在發現寫法二也可以編譯和正確執行
不知道寫法一和寫法二的差別是習慣問題還是根本用錯泛型了...
希望有人可以替我解答,感謝!!
如果我真的用錯泛型了,也想問一下泛型正確的使用時機是什麼?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.231.91
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1536226098.A.8C9.html
推
09/06 19:09,
6年前
, 1F
09/06 19:09, 1F
推
09/06 19:22,
6年前
, 2F
09/06 19:22, 2F
→
09/06 19:22,
6年前
, 3F
09/06 19:22, 3F
是說進食的實作根據物種差很多,用現金付帳的實作各種身份都一樣嗎?
那我有點不太懂為什麼用這兩個狀況判斷泛型與否,是否跟樓下c大說的轉型消耗有關?
感謝你的回應~
推
09/06 23:35,
6年前
, 4F
09/06 23:35, 4F
→
09/06 23:35,
6年前
, 5F
09/06 23:35, 5F
推
09/06 23:43,
6年前
, 6F
09/06 23:43, 6F
→
09/06 23:44,
6年前
, 7F
09/06 23:44, 7F
→
09/06 23:45,
6年前
, 8F
09/06 23:45, 8F
了解,那如果這樣可以使用介面的狀況寫成泛型,會被當成dirty code或是不易讀或是效
能差嗎?
感謝你的回應~
※ 編輯: ccorn (116.241.1.187), 09/07/2018 00:27:16
※ 編輯: ccorn (116.241.1.187), 09/07/2018 00:56:04
推
09/07 01:32,
6年前
, 9F
09/07 01:32, 9F
→
09/07 01:34,
6年前
, 10F
09/07 01:34, 10F
→
09/07 02:02,
6年前
, 11F
09/07 02:02, 11F
→
09/07 02:03,
6年前
, 12F
09/07 02:03, 12F
→
09/07 02:04,
6年前
, 13F
09/07 02:04, 13F
→
09/07 02:05,
6年前
, 14F
09/07 02:05, 14F
→
09/07 02:09,
6年前
, 15F
09/07 02:09, 15F
→
09/07 02:10,
6年前
, 16F
09/07 02:10, 16F
→
09/07 02:11,
6年前
, 17F
09/07 02:11, 17F
→
09/07 02:39,
6年前
, 18F
09/07 02:39, 18F
→
09/07 02:40,
6年前
, 19F
09/07 02:40, 19F
→
09/07 02:41,
6年前
, 20F
09/07 02:41, 20F
→
09/07 02:43,
6年前
, 21F
09/07 02:43, 21F
→
09/07 02:44,
6年前
, 22F
09/07 02:44, 22F
→
09/07 02:46,
6年前
, 23F
09/07 02:46, 23F
→
09/07 02:48,
6年前
, 24F
09/07 02:48, 24F
→
09/07 02:49,
6年前
, 25F
09/07 02:49, 25F
了解,那我還是乖乖改成介面好了><
其實我泛型用太多,同事有點看不懂
推
09/07 09:07,
6年前
, 26F
09/07 09:07, 26F
→
09/07 09:07,
6年前
, 27F
09/07 09:07, 27F
推
09/07 09:17,
6年前
, 28F
09/07 09:17, 28F
→
09/07 09:17,
6年前
, 29F
09/07 09:17, 29F
→
09/07 09:17,
6年前
, 30F
09/07 09:17, 30F
了解,乖乖改成介面><
→
09/07 09:59,
6年前
, 31F
09/07 09:59, 31F
我懂你 實體化時
推
09/07 15:09,
6年前
, 32F
09/07 15:09, 32F
→
09/07 15:10,
6年前
, 33F
09/07 15:10, 33F
我以為SA只是做文字的系統分析而已?!
推
09/07 18:43,
6年前
, 34F
09/07 18:43, 34F
→
09/07 18:43,
6年前
, 35F
09/07 18:43, 35F
→
09/07 18:43,
6年前
, 36F
09/07 18:43, 36F
推
09/08 10:35,
6年前
, 37F
09/08 10:35, 37F
之前看協變逆變看不太懂,這樣一說就通了!這版強者真多><以後要多來發問了
※ 編輯: ccorn (116.241.1.187), 09/08/2018 23:00:01
推
09/14 23:33,
6年前
, 38F
09/14 23:33, 38F
→
09/14 23:33,
6年前
, 39F
09/14 23:33, 39F
→
09/14 23:34,
6年前
, 40F
09/14 23:34, 40F
→
09/14 23:35,
6年前
, 41F
09/14 23:35, 41F
→
09/14 23:36,
6年前
, 42F
09/14 23:36, 42F
→
09/14 23:37,
6年前
, 43F
09/14 23:37, 43F
→
09/14 23:37,
6年前
, 44F
09/14 23:37, 44F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章