2 Stimmen

Konvertieren von POCO-Objekten im Speicher in c#-Code zum Initialisieren

Gibt es eine Bibliothek oder ein Codebeispiel für die Konvertierung eines POCO c#-Objekts im Speicher in eine .cs-Code-Datei, die dieses Objekt erstellt. Ein Beispiel: Objekt vom Typ Auto im Speicher wird:

Car c = new Car 
{ 
     Name = "mazda", 
     Id = 5,
     Passengers = new List<string> { "Bob", "Sally" }
     // etc... recursing to the bottom
};

Ich könnte annehmen, dass es nur öffentliche Eigenschaften einstellen kann.

1voto

thomasgalliker Punkte 825

Es gibt eine Visual Studio-Erweiterung (OmarElabd/ObjectExporter), die C#-Initialisierungscode zur Debug-Zeit erzeugt. Ich persönlich musste C#-Code aus In-Memory-Objekten zur Laufzeit generieren. Dies ist das, was sich aus dem ursprünglichen Problem entwickelt hat: https://www.nuget.org/packages/ObjectDumper.NET/

ObjectDumper.Dump(obj, DumpStyle.CSharp); gibt C#-Initialisierungscode aus einer Variablen zurück. Die Ausgabezeichenkette können Sie mit der Methode File.WriteAllText einfach in eine Datei schreiben.

0voto

Mark Punkte 9636

Wir haben die binäre Serialisierung zur Serialisierung von Objekten in eine Datei , aber nichts zu lesbaren .CS-Dateien.

0voto

Tj Kellie Punkte 6158

Sie können die Visual Studio T4-Codevorlagen verwenden, um Ihre .cs-Dateien zu erstellen. Sie können die Informationen zu den Codegenerierungswerkzeugen unter dieser Artikel und sehen Sie, ob es das ist, was Sie suchen.

Sie müssten eine partielle Codevorlage einrichten und Ihre Bibliotheksfunktion den Rest der Codevorlage ausschreiben lassen, dann die Vorlagen ausführen, um Ihre .cs-Klasse zu erzeugen, die Ihre POCO-Objekte erstellt. Ich bin nicht sicher, ob dies die einzige Möglichkeit ist, aber ich könnte mir vorstellen, dass es funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X