gpt4 book ai didi

c# - Convert.ToDateTime(bool) 的意义何在?

转载 作者:IT王子 更新时间:2023-10-29 04:39:30 27 4
gpt4 key购买 nike

昨晚我正在为我正在处理的系统做一些类型转换例程。其中一项转换涉及将字符串值转换为其 DateTime 等价物。

在执行此操作时,我注意到 Convert.ToDateTime() 方法有一个接受 bool 参数的重载。

第一个问题?这在什么情况下有用?

我更进一步,尝试在 QuickWatch 中执行该方法。无论哪种方式( true 或 false ),例程都会返回 InvalidCastException。

第二个问题?为什么这个方法在这里?

编辑

谢谢大家的回答。从契约(Contract)的角度来看,我可以看出它有何意义,但核心框架包含以下方法似乎确实很奇怪:-

  • 永远无法工作
  • 更糟糕的是,当有人试图调用它时实际上会抛出异常。

这有点像有人在制造一辆装有控件的汽车,这些控件会在使用时主动停止您的车辆工作。

最佳答案

这是有道理的,因为 ToDateTimebool 实现的 IConvertible 接口(interface)的一部分。如果您查看反射器,您会发现它抛出一个 InvalidCastException

更新(来自转换):

public static DateTime ToDateTime(bool value)
{
return ((IConvertible) value).ToDateTime(null);
}

关于c# - Convert.ToDateTime(bool) 的意义何在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2689572/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com