Frage

Ich erinnere mich vor einiger Zeit zu sehen, dass es eine Methode ist in vielleicht Namensraum der Reflexion, die rekursiv ToString() auf alle Eigenschaften eines Objekts es für die Anzeige schön und formatiert laufen würde.

Ja, ich weiß, was ich zugänglich sein wird über den Debugger nur wünschen kann, aber ich frage mich, ob jemand den Befehl kennt?

War es hilfreich?

Lösung

Ich denke, was Sie suchen wird / wurde ObjectDumper genannt. Es nutzt Reflexion durchlaufen und Ausgang all die verschiedenen Eigenschaften für ein Objekt. Ich hörte zuerst über sie, während LINQ zu lernen, und die meisten Beispiele in der Linq in Aktion Buch verwenden.

Es scheint, dass Microsoft nicht enthält sie in der Endfassung von Linq zwar, aber der Code ist immer noch in der Wildnis. Ich habe eine schnelle Google-Suche für sie und hier ist ein Link zu ihr:

ObjectDumper Source Code

Andere Tipps

Beispiel-Code ein Objekt und seine Eigenschaften zu entleeren sind hier zu finden:

http://www.developer.com/net/csharp/article .php / 3713886

Sie können es selbst schreiben. Zum Beispiel serialisiert es in json Newtonsoft der JSON.net Bibliothek und schreiben, dass json Konsole. Hier ein Beispiel:

using Newtonsoft.Json;

static class Pretty
{
    public static void Print<T> (T x)
    {
        string json = JsonConvert.SerializeObject(x, Formatting.Indented);
        Console.WriteLine(json);
    }
}

Verbrauch:

Pretty.Print(whatever);

Ich könnte sicherlich die Verwendung in so etwas sehen, aber in .Net nicht Sie meist nur eine Liste von Typnamen (String, Array, etc.) bekommen? Die meisten der Einbauten haben nicht „nützlich“ ToString () Überlastungen vor-geschrieben, nicht wahr?

Hier ist ein Link mit dem Code-Kipper und ein Demo-Projekt, das Ihnen zeigt, wie es zu benutzen. es herunterladen hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top