Не намного ли более элегантный и опрятный интерфейс IStringable
?
Кому нужен этот Type.FullName
объект, возвращенный нам?
РЕДАКТИРОВАТЬ: все спрашивают, почему я думаю, что это более элегантно..
Ну, именно так, вместо объекта IComparable, объект имел бы метод CompareTo, который по умолчанию генерирует исключение или возвращает 0.
Есть объекты, которые нельзя и не должны описывать как строку. объект мог бы в равной степени возвратить string.Empty
. Type.FullName
является просто произвольным выбором.
И для таких методов, как Console.Write(object), я думаю, что это должно быть: Write (IStringable).
Однако, если вы используете WriteLine для чего-либо, кроме строк (или что-то, что его ToString очевидно, например числа), мне кажется, что это только для режима отладки.
Кстати, как я должен комментировать вас всех? Это нормально, что я отправляю ответ?