-1
我正在基於用戶生成的條件編寫一般性警報系統。測試值&實際值作爲對象處理,因爲它們可能是數字,布爾值或字符串,具體取決於所選屬性。它需要容錯,並且優雅地失敗。通用比較函數,非類型特定的,容錯
所以我在C#中尋找一個通用函數來爲各種數據類型進行比較(大於/小於/等於)。
使用IComparable接口不能正常工作,因爲它的類型是專用的,例如,如果測試值是的Int32和comparsonValue這會崩潰是十進制:
object testValue = (int)10;
object comparisonValue = (decimal)11;
var comparison = ((IComparable)testValue).CompareTo(comparisonValue)
// Crashes with {System.SystemException}: {"Object must be of type Int32."}
有沒有在C#中任何其他通用的比較函數?我希望我不必自己編寫一切代碼。
那麼當有人問如果int小於bool時會發生什麼? –
優雅的失敗。它需要是容錯的。 –
哇,兩個downvotes?我有點迷路。 –