为什么System.Convert有ToDateTime接受DateTime?

// // Summary: // Returns the specified System.DateTime object; no actual conversion is performed. // // Parameters: // value: // A date and time value. // // Returns: // value is returned unchanged. public static DateTime ToDateTime(DateTime value); 

为什么System.ConvertToDateTime接受DateTime?

方法文档说明值保持不变。

惯例,可预测性,因为IConvertable定义了方法ToDateTime。

我相信,在封面下,System.Convert只会运行IConvertable类的所有组合。

实际的代码确实是:

 public static DateTime ToDateTime(DateTime value) { return value; } 

这证实了价值未经修改。 有很多转换方法。 我认为它只是因为它应该接受签名中的所有原始对象。

即使用reflection时,如果不支持从DateTimeDateTime的转换,则会出现意外情况。