В прошлом я использовал ToString()
скромно и нашел его очень полезным во многих обстоятельствах. Тем не менее, мое использование этого метода вряд ли оправдывает использование этого метода не иначе как System.Object
. Мое дикое предположение состоит в том, что в какой-то момент во время проведенной работы и совещаний, посвященных первоначальному проектированию платформы .NET, было решено, что необходимо - или, по крайней мере, чрезвычайно полезно - включить ToString()
метод, который будет реализован всем в .NET Framework.
Кто-нибудь знает, какие были точные причины? Я пропускаю кучу ситуаций, когда ToString()
оказывается достаточно полезным, чтобы быть частью System.Object
? Каковы были первоначальные причины для ToString()
?
Большое спасибо!
PS - Опять же: я не подвергаю сомнению метод или намекаю, что он бесполезен, мне просто интересно узнать, почему он так полезен, что его можно поместить в System.Object
.
Примечание: представьте себе:
AnyDotNetNativeClass someInitialObject = new AnyDotNetNativeClass([some constructor parameters]);
AnyDotNetNativeClass initialObjectFullCopy = AnyDotNetNativeClass.FromString(someInitialObject.ToString());
Разве это не круто?
РЕД (1):
(A) - Судя по некоторым ответам, языки .NET унаследовали это от Java. Итак, я добавляю «Java» к теме и тегам. Если кто-то знает причины, по которым это было реализовано в Java, пожалуйста, пролите немного света!
(B) - Статическая гипотеза FromString
против сериализации: конечно, но это совсем другая история, верно?