Вы уже согласны, что то, что вы пытаетесь сделать, невозможно.
Параметры:
1) Вы можете сделать "LastCheck" строковым свойством.И сохраните dataTime.ToString () или ваше сообщение в этой переменной.И тогда пользователь может использовать DateTime.TryParse (), и в случае неудачи он получит ваше сообщение.
2) [что я бы порекомендовал] Создать класс-заполнитель для вашего DateTime и сообщения.
pulbic class LastCheckInfo{
public DateTime LastCheck{get;set;}
public string ErrorMessage{get;set;}
}
Теперь вы можете заполнить экземпляр этого класса.И ваш пользователь будет проверять, чтобы «ErrorMessage» было пустым или нулевым, прежде чем читать действительную дату.
public LastCheckInfo GetLastCheckInfo(...){
if (reader["LastCheck"] != DBNull.Value)
{
return new LastCheckInfo(Convert.ToDateTime(reader["LastCheck"], "");
}
else
{
return new LastCheckInfo(DateTime.Min, "Failed to parse/get LastCheck Date") ;
}
}