我被委托将一个旧的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)
的文档。
我做错了什么?