在执行DateTimeConverter.ConvertFromString(“”)时,它会返回DateTime.MinValue。你可以拥有任意数量的空白空间,它仍然有效。如果你给它一个空字符串,它将返回null,这是我所期望的。
此行为与将返回null或抛出异常的所有其他TypeConverters不同。
这也与DateTime.TryParse(“”)的行为不同,后者返回false意味着它不起作用。
我希望ConvertFrom方法的行为与TryParse方法相同,如果有空或空白字符串,它应该失败。
为什么这样做?这是一个错误吗?
我正在做一些类型转换,这是我遇到意外/不一致行为的情况。有没有办法可靠地进行适用于所有类型的类型转换?或者我是否需要为DateTime案例添加特殊条款?
if( typeConverter is DateTimeConverter )
{
// Check if the value is a white space string.
}