Los problemas son:C#: ¿Cómo se debe implementar ToString()?
- bibliotecas GUI les gusta usar
ToString
como una representación por defecto para las clases. Allí necesita ser localizado. ToString
se utiliza para el registro. Allí debe proporcionar información relacionada con la programación, no está traducida e incluye estados internos como claves sustitutas y valores enum.ToString
es utilizado por muchas operaciones de cadena que toman objetos como argumentos, por ejemploString.Format
, al escribir en las secuencias. Dependiendo del contexto, esperas algo diferente.ToString
es muy limitado si hay muchas representaciones diferentes del mismo objeto, por ej. una forma larga y una corta.
Debido a los diferentes usos, hay muchos tipos diferentes de implementación. Entonces son demasiado poco confiables para ser realmente útiles.
¿Cómo se debe implementar ToString
para que sea útil? ¿Cuándo se debe usar ToString
? ¿Cuándo se debe evitar?
El .NET Framework documentation dice:
Este método devuelve una legible cadena que es sensible a la cultura.
Hay similar question, pero no es lo mismo.
No esperaría tanto si no se llamara implícitamente por todo el lugar. Pero probablemente tengas razón. Debería evitar que se use implícitamente en la interfaz de usuario. –