У меня проблемы с Nullable DateTime в VB.NET (VS 2010).
Метод 1
If String.IsNullOrEmpty(LastCalibrationDateTextBox.Text) Then
gauge.LastCalibrationDate = Nothing
Else
gauge.LastCalibrationDate = DateTime.Parse(LastCalibrationDateTextBox.Text)
End If
Метод 2
gauge.LastCalibrationDate = If(String.IsNullOrEmpty(LastCalibrationDateTextBox.Text), Nothing, DateTime.Parse(LastCalibrationDateTextBox.Text))
Когда задана пустая строка, метод 1 назначает нулевое значение (Nothing) для gauge.LastCalibrationDate, а метод 2 назначает ему DateTime.MinValue.
В других местах в моем коде у меня есть:
LastCalibrationDate = If(IsDBNull(dr("LastCalibrationDate")), Nothing, dr("LastCalibrationDate"))
Это правильно присваивает значение Null (Nothing) от тернарного оператора для Nullable DateTime.
Чего мне не хватает? Спасибо!