我正在嘗試在要建立的流利測試框架中使用的數字類型上編寫擴展方法?;旧?,我想這樣做:public static ShouldBeGreaterThan<T>(this T actual, T expected, string message) where T : int || T: double || etc...只是where T : struct不做,因為這也將匹配string和bool,可能還有我忘記的其他事情。我可以做些什么來只匹配數字類型嗎?(特別是實現>and <運算符的類型,因此我可以將它們進行比較...如果這意味著我也要匹配日期,則沒關系-擴展名仍會按照我的期望進行。)
3 回答

忽然笑
TA貢獻1806條經驗 獲得超5個贊
在這種情況下,您希望將泛型限制為IComparable
接口,這使您可以訪問該CompareTo
方法,因為此接口允許您回答問題ShouldBeGreaterThan
。
數值類型將實現該接口,并且它也可用于字符串的事實不會給您帶來太大的麻煩。
- 3 回答
- 0 關注
- 391 瀏覽
添加回答
舉報
0/150
提交
取消