我在做什麼是查找散列表中特定字段的值。該對象可以是少數基本類型,它們的值將注入XML中,但它會作爲對象從散列表中排除。所以我有需要決定什麼類型的問題,將其拋出然後使用該類型的ToString。如果我不需要強制轉換它,那將會很好,但是它會在對象類型上調用ToString,而不是實際類型上的對應方法。一種乾淨的方式來投射到一個對象的實際類型
下面的代碼在功能上是正確的,但我對它不滿意。也許遵循這條舒適的道路將導致我成爲一個純粹主義者。無論哪種方式,如果存在這種情況,我將非常感激這種更好的寫法。
public string GetColumnValue(string columnName)
{
object value = item[columnName];
if (value == null)
return string.Empty;
if (value.GetType() == typeof(string))
{
return (string)value;
}
else if (value.GetType() == typeof(double))
{
return ((double)value).ToString();
}
...
}
這適用於基本類型,但可能不適用於自定義類型 - 取決於可以在項[columnName]中返回的內容... – 2010-02-16 17:24:57
裏德,你能舉個例子嗎? – spender 2010-02-16 17:26:07
我真的不認爲這會工作。因此,出於參數的原因,如何在特定類型的繼承樹上顯式調用ToString實現? – 2010-02-16 17:27:01