2010-08-21 47 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

相关问题