Вчера я делал некоторые процедуры преобразования типов для системы, над которой я работаю. Одно из преобразований включает преобразование значений строк в их эквиваленты DateTime.
При этом я заметил, что метод Convert.ToDateTime() имел перегрузку, которая принимала логический параметр.
Первый вопрос? При каких обстоятельствах это может быть полезно?
Я пошел немного дальше и попытался выполнить метод в QuickWatch. В любом случае (true или false) процедура возвращает InvalidCastException.
Второй вопрос? Почему этот метод даже здесь?
ИЗМЕНИТЬ
Спасибо за ответы, ребята. Я вижу, как это имеет смысл с точки зрения контракта, но кажется странным, что основная структура включает в себя методы, которые: -
- Невозможно работать
- Хуже, на самом деле будет генерировать исключение, когда кто-то попытается вызвать его.
Это немного похоже на то, что кто-то заставляет машину загружаться с помощью элементов управления, которые активно останавливают работу вашего автомобиля при использовании.