En el mundo de Java tenemos Apache Commons 'ToStringBuilder para ayudar a crear implementaciones toString().¿Hay un equivalente a ToStringBuilder de Java para C#? ¿Qué característica de una buena versión de C#?
¿Alguien sabe de una implementación libre decente para C#? ¿Hay mejores alternativas que yo no sepa?
Si no existe una implementación libre que supongo que esta pregunta se convierte más en una pregunta de "¿Qué haría un buen ToStringBuilder en C# 3?"
De la parte superior de mi cabeza:
que podría ofrecer la reflexión y la creación cadena ToString manual.
Sería genial si pudiera hacer uso de los árboles Expression.
Algo como esto ..
public override string ToString()
{
return new ToStringBuilder<Foo>(this)
.Append(t => t.Id)
.Append(t => t.Name)
.ToString();
}
cual se devolvía:
"Foo{Id: 1, Name: AName}"
- Podría utilizar System.Reflection.Emit precompilar un delegado ToString.
¿Alguna otra idea?
ACTUALIZACIÓN
Solo para aclarar ToStringBuilder es una criatura diferente a StringBuilder .. Estoy buscando algo similar a la funcionalidad de ToStringBuilder de Apache Commons, tiene características como el formato de múltiples líneas, diferente estilos y base de reflexión creación ToString. Gracias.
ACTUALIZACIÓN 2
he construido mi propia. Ver here.
Quizás debas haber vinculado a la descripción de lo que hace ToStringBuilder: http://commons.apache.org/lang/api/org/apache/commons/lang/builder/ToStringBuilder.html – Powerlord
@Powerlord, gracias por haber actualizado el enlace, supongo que no a todos les gusta tanto el código fuente de Grokking como yo ;-) – chillitom
Versión rápida C# 4 agregada a continuación: http://stackoverflow.com/questions/2417647/is- there-an-equivalent-to-javas-tostringbuilder-for-c-what-would-a-good-c-ver/4959343 # 4959343 – chillitom