В общем-то мелочь, но захотелось логику применения узнать, вдруг чего-то не понимаю.
В описании на msdn прямо сказано, что Convert.ToDateTime (Int64) фактически не реализован.
https://msdn.microsoft.com/ru-ru/library/400f25sk(v=vs.110).aspx
При вызове этого метода всегда возникает исключение InvalidCastException.
Неясно почему MS решили ввести этот метод еще в версии 1.1 дотнета, но похоже, что навсегда оставить ошибку преобразования, при том, что есть конструктор DateTime от Int64, и в принципе всегда можно написать, что-то вроде нижеследующего и оно работает.
Int64 a;
....
Console.WriteLine(new DateTime(a).ToLongDateString());
Так делают иногда для делегатов или если подразумевается, что метод будет переписан в унаследованном классе, но тут, смысла не вижу.
M>В общем-то мелочь, но захотелось логику применения узнать, вдруг чего-то не понимаю.
Посмотрите
другие оверлоады этого метода. Скажем, для bool, согласитесь, смысла нет в таком преобразовании. А как насчет byte? Тоже пожалуй нет, согласны? Так, а теперь у нас есть int64.. вопрос, почему вдруг это должно стать возможным, такое "преобразование"?
То, что вы вызываете конструктор
явно, передавая ему
количество тиков, согласитесь, немножечко отличается от преобразования
какого-то числа в DateTime.