2010-08-21 41 views
0

Convert.ToDateTime()顯示的工具提示表示它總是拋出System.InvalidCastException。爲什麼?爲什麼Convert.ToDateTime()的工具提示說它總是拋出?

+0

用什麼方法?你能展示一些代碼嗎? – 2010-08-21 06:56:31

+0

這是一個咆哮還是一個問題?你沒有發佈任何代碼。 – Oded 2010-08-21 06:56:50

+0

發佈一個小代碼片段,當您認爲它不應該發生異常時,我們將解釋原因。你提出這個問題的方式沒有意義。 – Timwi 2010-08-21 06:57:33

回答

4

您不能將類似short(或bool或各種其他數據類型)的東西轉換爲DateTime,因此總是拋出它是有意義的。但是,如果你嘗試的東西,可以合理地轉換爲DateTime的轉換,那麼它不會:

example screenshot showing the tooltip for two of the Convert.ToDateTime() overloads

+0

+1找到它。讓人想知道爲什麼只有拋出異常時才提供重載。似乎不合理。 – 2010-08-21 15:51:09

+1

@jdk:我的猜測是因爲它阻止了拳擊。如果重載不在那裏,那麼'ToDateTime(object)'將接管並拋出相同的異常。即使'ToDateTime(object)'改爲'ToDateTime(IConvertible)',顯然它需要它,它仍然會接管,因爲所有的原始類型都實現了這個接口... ... – Timwi 2010-08-21 15:53:11

+0

@jdk:出於好奇,你會解釋一下對我來說你是如此快速地發現我的答案?我不認爲該網站很快發出電子郵件,沒有人贊成這個問題,那麼你做了什麼?您是否繼續重新加載此頁面?還是你和另一個用戶在發佈後8分鐘獨自碰巧遇到了我的答案? – Timwi 2010-08-21 15:55:04

相關問題