Ho usato il ToString()
modestamente in passato e l'ho trovato molto utile in molte circostanze. Tuttavia, il mio utilizzo di questo metodo difficilmente giustificherebbe mettere questo metodo nientemeno che in System.Object
. La mia ipotesi è che, ad un certo punto durante il lavoro svolto e le riunioni tenute per elaborare il progetto iniziale del framework .NET, è stato deciso che era necessario - o almeno estremamente utile - includere un metodo ToString()
che sarebbe implementato da tutto nel framework .NET.Quali sono i motivi originali di ToString() in Java e .NET?
Qualcuno sa quali sono le ragioni esatte? Mi mancano un sacco di situazioni in cui lo ToString()
risulta abbastanza utile da far parte di System.Object
? Quali erano le ragioni originali per ToString()
?
Grazie mille!
PS - Anche in questo caso: non sto mettendo in dubbio il metodo o insinuando che non è utile, sono solo curioso di sapere cosa lo rende così utile da collocare in System.Object
.
Nota a margine - Immaginate questo:
AnyDotNetNativeClass someInitialObject = new AnyDotNetNativeClass([some constructor parameters]);
AnyDotNetNativeClass initialObjectFullCopy = AnyDotNetNativeClass.FromString(someInitialObject.ToString());
Non sarebbe cool?
EDIT (1):
(A) - Sulla base delle risposte, sembra che i linguaggi .NET ereditato questo da Java. Quindi, aggiungo "Java" all'oggetto e ai tag. Se qualcuno conosce i motivi per cui questo è stato implementato in Java, per favore fai un po 'di luce!
(B) - Statico ipotetico FromString
vs Serializzazione: certo, ma questa è una storia completamente diversa, giusto?
FromString = Serialize Deserialize? –
Certo, ma non così diretto, giusto? –
Buona domanda, e sicuramente 'System.Object.ToString()' è discutibile: http://csharptest.net/?p=346 –