Здравствуйте, Аноним, Вы писали:
А>А то что в программе происходят округления, так это уже по стандарту.
Дайте, пожалуйста, ссылочку на этот самый стандарт, касающийся маршалинга DATE при COM Interop?
Здесь или
тут об этом "округлении"/"потери_точности" ни слова.
Возможное объяснение — DateTime не предназначен для оперирования микросекундами (там и такого свойства нет, хотя есть те же самые тики). Тогда, мое мнение, подобное поведение маршалера по умолчанию следовало специально где-то обговорить (как и методы ToOADate, FromOADate).
Поэтому
утверждения в MSDN:
DateTime.ToOADate Method
Return Value
Type: System.Double
A double-precision floating-point number that contains an OLE Automation date equivalent to the value of this instance.
DateTime.FromOADate Method
Return Value
Type: System.DateTime
A DateTime that represents the same date and time as d.
мягко говоря, не соответствуют действительности.