看板 C_Sharp 關於我們 聯絡資訊
如題,小弟想要用類似以下做法來做一個工具: public void StartDelay<T>(Action _action,T _count)where T:int,float { if(_count.GetType() == typeof(float)) { //do something } else if(_count.GetType() == typeof(int)) { //do something } } 但是他會跳一個錯誤,似乎是int和float在where的約束上面會有衝突, 雖然我可以在函式內加一些防呆防止使用者用錯,但感覺不是很好=""= 希望能由compiler直接警告使用者,而不是執行到一半才跳錯 想請問有沒有辦法使用where來完成,或是類似的方式? 非常感謝~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.2.10 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1441708310.A.6E5.html
iterator: 你應該要提供 void StartDelay(Action, int) 09/08 18:37
iterator: void StartDelay(Action, float) 09/08 18:38
對齁@@ 腦袋真的沒轉過來 非常感謝! ※ 編輯: jamod (36.233.20.131), 09/08/2015 20:18:24