Следует ли использовать ToString для критической информации?

Я только что наткнулся на код, который переопределяет ToString () и возвращает некоторую важную информацию (не только отладочную информацию). Пользователи этого типа вызывают ToString () и анализируют эти важные данные.

Мое мнение, читая различные фрагменты и фрагменты на протяжении многих лет, заключается в том, что ToString () имеет довольно слабый контракт , т.е. переопределяет его (, если хотите ), чтобы отобразить кое-что значимое.

Видите, я сказал отобразить там? Код, с которым я столкнулся, полагался на текстовое представление экземпляров этого типа, чтобы быть очень конкретным; добавление чего-либо, кроме ожидаемого, может вызвать всевозможные проблемы.

Итак, мой вопрос: если текстовое представление объекта является критическим, следует ли использовать ToString () или более явный метод / свойство, например AsText ?

6
задан Steve Dunn 10 August 2011 в 16:25
поделиться