[問題] 用Where來限制泛型的問題...

作者: jamod (jasper)   2015-09-08 18:31:48
如題,小弟想要用類似以下做法來做一個工具:
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來完成,或是類似的方式?
非常感謝~~
作者: iterator (rotareti)   2015-09-08 18:37:00
你應該要提供 void StartDelay(Action, int)void StartDelay(Action, float)

Links booklink

Contact Us: admin [ a t ] ucptt.com