2017-07-03 2 views
0

Ich habe aC# Datei als .txt Dateiformat, ich muss es dynamisch lesen und extrahieren alle verfügbaren Daten, ich brauche einen Parser zu identifizieren C# Klasse Instanzen, C# Klasse Felder , etc ..Wie zu analysieren und zu extrahieren C# class Daten

Kann jemand Idee, dies auf einfache Weise zu tun?

+2

Indem Sie Ihren eigenen Parser schreiben. '.txt' ist kein Dateiformat. Es ist eine Textdatei, die * alles * enthalten kann, einschließlich JSON- oder XML-Daten. –

+0

Komplette Schätzung, aber Sie könnten Compiler verwenden und dann Reflexion über kompilierten Code verwenden, um die Daten zu erhalten? Siehe: 'CSharpCodeProvider.CompileAssemblyFrom' –

+0

Bitte zeigen Sie Klassenstruktur, Dateistruktur, wie Daten in der Datei mit Klasseneigenschaften" verknüpft "werden sollen. Und zeig was hast du probiert? – Fabio

Antwort

1

Wenn Ihre C# -Datei eine tatsächliche, gültige C# -Datei ist, können Sie sie in ein Projekt innerhalb einer Lösung (sehr einfach, ein Dateiprojekt) einbinden und dann kompilieren. In der EXE-Datei, die generiert wurde, können Sie mithilfe von Reflection dynamisch Typen, Felder und Methoden zur Laufzeit extrahieren. Eine andere Möglichkeit ist es, einen grundlegenden Textparser zu schreiben, der C# -Schlüsselwörter erkennt und versteht, was diese Metadaten sind, aber ich denke, dass die erste Alternative einfacher und schneller zu implementieren ist.

Verwandte Themen