我昨晚正在为我正在进行的系统做一些类型转换例程.其中一个转换涉及将字符串值转换为DateTime等效值.
执行此操作时,我注意到Convert.ToDateTime()方法有一个接受布尔参数的重载.
第一个问题?在什么情况下这可能有用?
我进一步尝试在QuickWatch中执行该方法.无论哪种方式(true或false),例程都返回InvalidCastException.
第二个问题?为什么这种方法在这里呢?
编辑
伙计们,谢谢你的回答.从合同的角度来看,我可以看出它是多么合理,但核心框架包括以下方法似乎很奇怪:
这有点像制造一辆装有控制装置的汽车,可以在使用时主动阻止您的车辆工作.
这是有道理的,因为它ToDateTime是IConvertible实现的接口的一部分bool.如果你看反射器,你会看到它抛出一个InvalidCastException.
更新(来自Convert):
public static DateTime ToDateTime(bool value)
{
return ((IConvertible) value).ToDateTime(null);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
622 次 |
| 最近记录: |