? Tengo varias clases que están decoradas con DebuggerDisplayAttribute.¿Existe un método para representar un objeto utilizando DebuggerDisplayAttribute
Quiero ser capaz de agregar declaraciones de seguimiento a las pruebas unitarias que mostrarán instancias de estas clases.
¿Existe un método en .NET Framework que muestre un objeto formateado con DebuggerDisplayAttribute (o recurra a .ToString() si no se define DebuggerDisplayAttribute)?
EDITAR
Para aclarar, yo estaba esperando que podría haber algo integrado en el Marco. Sé que puedo obtener la propiedad Value de DebuggerDisplayAttribute, pero luego necesito formatear mi instancia utilizando la cadena de formato representada por DebuggerDisplayAttribute.Value.
Si ruedo mi propia, me prever un método de extensión a lo largo de las siguientes líneas:
public string FormatDebugDisplay(this object value)
{
DebugDisplayAttribute attribute = ... get the attribute for value ...
if (attribute = null) return value.ToString();
string formatString = attribute.Value;
??? How do I format value using formatString ???
return SomeFormatMethod(formatString, value);
}
Gracias. Escribir mi propio método en la forma en que describes es una especie de derrota para el propósito de lo que estaba tratando de lograr. Me he ido con la anulación de ToString() para las clases en cuestión. – Joe
Si el código de su aplicación no asigna ningún significado a ToString(), entonces sí, eso es más simple. En algunos casos, ToString() ya tiene un significado (p.para mostrar el objeto en un cuadro de lista), y en esos casos, DebuggerDisplay plus un método aún puede ser útil. –
No es necesario que "inserte el depurador de Visual Studio en su aplicación" para escribir un método que proporcione valor. Sospecho que la mayoría de los usos de DebuggerDisplay son valores de propiedad simples, y su implementación sería un método valioso. –