顯然這不是你想做的事情,除非你處於無助的境地,但是沒有人有這樣的例子的好例子更清晰的方法名):將字符串轉換爲未知的原始類型
public static object ConvertToBestGuessPrimitive(string toConvert)
{
if(looksLikeAnInt)
{
return as an int;
}
else if(looksLikeABoolean)
{
return as a boolean;
}
else
{
return as a string;
}
}
我唯一的想法是鏈一起在一個合理的順序一堆的TryParse方法一起回落到字符串,如果沒有什麼作品。任何人都能想到更好的東西嗎?這個問題可能已經在某個地方得到了解答,但我似乎無法找到任何有用的結果,因爲使用了過於通用的搜索術語。
編輯 - 由於有人批評沒有例子,這將是多麼有用,這裏有一個我想出來滿足一個具體的需求(不合理)...說我解析一個錯誤日誌文件,我得到從一個不受控制的來源。日誌文件具有方法名稱和參數,這些名稱和參數是爲發生錯誤的位置提供的。我想通過找到最匹配的方法和參數並嘗試再次調用它們來自動測試錯誤條件。也許是一個愚蠢的例子(請不要試圖想出「但你可以在這種情況下做到這一點」的反應,因爲這只是一個例子),但它說明了幾點:1)輸入超出了我的控制範圍。 2)最好的猜測是基於找到合適匹配的一些標準。例如:「10/2/2012」更可能意味着DateTime比字符串。
爲什麼不然後聲明該方法爲動態如果沒有我會做一個switch語句,你甚至會在哪裏使用'toConvert'檢查方法名現在你應該足夠聰明來想出一個方法名稱來描述你在做什麼或試圖做什麼'ConvertToPrimitiveType' – MethodMan 2013-02-11 14:56:26
我不明白。你會如何使用這種方法?它如何有用? – nmat 2013-02-11 15:01:14
我同意@nmat。也許你可以向我們展示一個你想使用它的例子。 – 2013-02-11 15:04:10