He usado ToString()
modestamente en el pasado y lo he encontrado muy útil en muchas circunstancias. Sin embargo, mi uso de este método difícilmente justificaría poner este método en nada menos que System.Object
. Creo que, en algún momento durante el trabajo realizado y las reuniones celebradas para presentar el diseño inicial del .NET Framework, se decidió que era necesario, o al menos extremadamente útil, incluir un método ToString()
que sería implementado por todo en .NET Framework.¿Cuáles son las razones originales para ToString() en Java y .NET?
¿Alguien sabe cuáles fueron las razones exactas? ¿Me estoy perdiendo un montón de situaciones en las que ToString()
es lo suficientemente útil como para ser parte de System.Object
? ¿Cuáles fueron las razones originales de ToString()
?
¡Muchas gracias!
PD - Nuevamente: no estoy cuestionando el método o insinuando que no es útil, solo tengo curiosidad por saber qué lo hace TAN útil como para colocarlo en System.Object
.
Nota al margen - Imagine esto:
AnyDotNetNativeClass someInitialObject = new AnyDotNetNativeClass([some constructor parameters]);
AnyDotNetNativeClass initialObjectFullCopy = AnyDotNetNativeClass.FromString(someInitialObject.ToString());
Esto no sería genial?
EDITAR (1):
(A) - Sobre la base de algunas respuestas, parece que los lenguajes .NET heredan esto desde Java. Entonces, estoy agregando "Java" al tema y a las etiquetas también. Si alguien sabe los motivos por los que esto se implementó en Java, por favor, ¡arroja algo de luz!
(B) - Static hypothetical FromString
vs Serialización: seguro, pero esa es una historia bastante diferente, ¿no?
FromString = Serialize Deserialize? –
Claro, pero no tan directo, ¿verdad? –
Buena pregunta, y seguramente 'System.Object.ToString()' es discutible: http://csharptest.net/?p=346 –