如何將此函數可靠地將sourceValue轉換爲類型T,其中sourceValue是bool且T是int?cast bool to T其中T是int
public static T ConvertTo<T>(Object sourceValue) { // IF IS OF THE SAME TYPE --> RETURN IMMEDIATELY if (sourceValue is T) return (T) sourceValue; var val = ConvertTo(sourceValue, typeof (T)); return (T) val; }
目前,試圖轉換假爲0,真爲1的類型不是預定義的,這就是爲什麼仿製藥必須在這裏使用時,這引發InvalidCastException。但是,唯一失敗的情況是T:Int32和sourceValue:Boolean。
只是好奇,但爲什麼你想使用一個獨立的方法呢?如果'b'是'bool',只要做'int x = b? 1:0;'。 – bcat 2009-09-11 21:21:34
我認爲他正在尋找一個通用的解決方案,但這個「邊緣」案件不適合。 – spender 2009-09-11 21:23:15
也許。我只是看不到通用轉換方法的用例。我並不是說沒有一個有效的,我現在還想不起來。 – bcat 2009-09-11 21:26:31