Мне было поручено преобразовать старую программу VB6 в C #. Одна из проблем, с которой у меня возникли проблемы при переносе, - это вычисление даты рождения из поля, которое было прочитано из двоичного файла:
.BirthDate = CDate((CLng(recPatient.birthDateByte2) * 256) +
(recPatient.birthDateByte1 + 366))
Единственная удаленная функция, которую я смог найти:
DateTime BirthDate = DateTime.ToDateTime((long)recPatient.birthDateByte2) * 256)
+ (recPatient.birthDateByte1 + 366));
Однако ToDateTime(long)
просто возвращает InvalidCastException
.
Теперь я могу построить строку вручную, но не могу найти документацию в VB6 CDate(long)
.
Что я делаю не так?