我的方案應該是簡單的......我想轉換FROM類型是總是「串」。我想轉換爲...可能是很多東西 - 整型,DateTime是否......字符串等如何在運行時轉換類型?
這會很容易:
string valueToConvertFrom = "123";
int blah = Convert.ToInt32(valueToConvertFrom);
不過......我不知道(直到運行時),我需要轉換的值是'Int'(或其他)。我試過這個:
string valueToConvertFrom = "123";
Type convertToType = typeof(int);
object blah = Convert.ChangeType(valueToConvertFrom, convertToType);
但是,這給了我以下錯誤:「對象必須實現IConvertible。」
我不想要做一個switch語句,並呼籲「Convert.ToBlah」的基礎上的類型名稱...有什麼建議?
請重新打開並添加您找到了答案,萬一別人有未來相同或類似的問題 – 2008-11-23 19:50:29
我之所以關閉它,是因爲我的代碼中有一個錯誤...我最初從錯誤的領域拉,而且該領域沒有實現IConvertible。 +1兩個答案...「字符串類實現IConvertible,這個代碼簡單地應該工作」這是真的。但是Asher的解決方案非常棒,因爲我學到了一些新東西(這是一個非常乾淨的解決方案)。再次感謝! – 2008-11-24 12:43:51