如果 DateTime.Parse 失败,则转换为自定义 DateTime 类型

Convert to a custom DateTime type if DateTime.Parse fails

我有这样的东西:

myObj.FinishDateField = DateTime.Parse(someVar);

并且在程序的 运行 中 someVar 恰好也是 empty string.

我读过这样一篇关于回答类似问题的帖子: How to manage parsing an null object for DateTime to be used with ADO.NET as DBNULL

但我的问题是 myObj.FinishDateField 是某种内部类型的 DateTime,如下所示:Company.Framework.Data.DbTypes.DbDateTime 所以上面答案中使用的那些转换仍然失败。我如何在我的内部版本 DateTime 上使用它?

使用DateTime.TryParse避免分配无效日期。

以最简单的形式(不用担心在当前区域设置形式中不代表日期的字符串)

DateTime dt;
if(DateTime.TryParse(someVar, out dt))
   myObj.FinishDateField = dt;