VB.NET - Обнуляемый оператор DateTime и тернарный

У меня проблемы с DateTime, допускающим значение NULL, в 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 присваивает значение Null (Nothing) значение gauge.LastCalibrationDate, но метод 2 присваивает ему DateTime.MinValue.

В других местах моего кода у меня есть:

LastCalibrationDate = If(IsDBNull(dr("LastCalibrationDate")), Nothing, dr("LastCalibrationDate"))

Это правильно назначает Null (Nothing) из тернарного оператора для DateTime, допускающего значение Null.

Что мне не хватает? Спасибо!

9
задан anonymous 15 November 2010 в 23:29
поделиться