我过去曾ToString()
适度使用过,我发现它在许多情况下都非常有用。但是,我对这种方法的使用很难证明将这种方法放在System.Object
. 我的疯狂猜测是,在为提出 .NET 框架的初始设计而进行的工作和召开会议期间的某个时间点,我们决定有必要(或至少非常有用)包含一种ToString()
方法,该方法可以由 .NET 框架中的所有内容实现。
有谁知道确切的原因是什么?我是否错过了很多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
与序列化:当然,但那是完全不同的故事,对吧?