Laden...

Form.Designer.cs extern erstellen

Erstellt von Flohen vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.818 Views
F
Flohen Themenstarter:in
86 Beiträge seit 2007
vor 12 Jahren
Form.Designer.cs extern erstellen

Hallo Community,

ich habe da ein Problem und mehrere Lösungsansätze. Nur leider weis ich nicht ob diese funktionieren. Also, zum Problem.

Ich habe eine externe Quelle (eine Textdatei), in dieser stehen Informationen zu Steuerelementen (Typ, Name, Größe usw.), diese möchte ich durchparsen und dann eine eigene Designer.cs erstellen, die dann wiederum in einem anderen Projekt eingesetzt werden soll.
Ich könnte natürlich jetzt mit WriteString oder so eine Datei erstellen die dann Designer.cs heißt. Gibt es jedoch eine andere, eleganter Lösung in .Net?

Ich hoffe ihr wisst worum es mir geht?

Greetz
Flohen

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo Flohen,

==> CodeDom

herbivore

T
156 Beiträge seit 2010
vor 12 Jahren

Hallo,

also unter .NET 4 und VS 2010 könntest Du Dir ein T4-Template basteln, die die Datei parst, und dann daraus die cs erzeugt.

Aber was ist der Sinn, wenn in der Textdatei schon die ganzen Informationen drin stehen? Ich meine, warum sind die Infos nicht schon in Form von Code?
Marko

F
Flohen Themenstarter:in
86 Beiträge seit 2007
vor 12 Jahren

Weil es eben so ist.
Die Textdatei erzeugt ein anderes Programm, das ist mit Delphi geschrieben.
Lässt sich auch nicht ändern...

@herbivore: Danke, das wollte ich wissen!!! Ich hatte schon so eine Ahnung, dass es sowas geben muss, nur eben nicht gefunden. Schlecht gesucht!! 😉

Greetz
Flohen

F
10.010 Beiträge seit 2004
vor 12 Jahren

Die Frage ist eher, warum willst du da Designercode machen, statt die Form direkt zu erzeugen?

S
443 Beiträge seit 2008
vor 12 Jahren

FZelle:
Die Frage verstehe ich nicht, ist das Designer file nicht die Form

mbg
Rossegger Robert
mehr fragen mehr wissen

Montag morgen ist die beste Zeit um eine erfolgreiche Woche zu beginnen

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo spike24,

FZelle meint, warum man nicht einfach den Code schreibt, der (dynamisch) die Form erzeugt, statt Code zu schreiben, der (dynamisch) den Code erzeugt, der (statisch) die Form erzeugt.

herbivore

S
443 Beiträge seit 2008
vor 12 Jahren

aso, ok da sehe ich warhscheinlich nur im Detail Unterschiede.
Ich muss in beiden Fällen Code generieren, und dieser erzeugt dann eine Form.
ob der generierte Code in einem File mit der Endung .cs liegt oder .Designer.cs sehe ich wie gesagt nur im Detail Unterschiede, der Code selbst wird ja ähnlich, wenn nicht gleich aussehen.
Da würde ich sogar eher noch bei .Designer.cs bleiben, da das VS auch mit dem generierten code umgehen kann.

mbg
Rossegger Robert
mehr fragen mehr wissen

Montag morgen ist die beste Zeit um eine erfolgreiche Woche zu beginnen

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo spike24,

Ich muss in beiden Fällen Code generieren, und dieser erzeugt dann eine Form.

nein, in einem Fall schreibst du Code, der das Form erzeugt (genaugenommen, der je nach Eingabe beliebige Forms erzeugen kann) und im anderen Fall schreibst du Code, der (je nach Eingabe) Code generiert, der das Form erzeugt. Letzteres ist eine Indirektionsstufe mehr.

Wenn meine Sätze mit den Worten/Aussagen in den Klammern zu schwer verständlich sind, lies sie mal ohne die Worten/Aussagen in den Klammern. Also

Code, der das Form erzeugt
vs.
Code, der Code generiert, der das Form erzeugt

ob der generierte Code in einem File mit der Endung .cs liegt oder .Designer.cs sehe ich wie gesagt nur im Detail Unterschiede

Darum, wie das File heißt, geht es überhaupt nicht.

herbivore

S
443 Beiträge seit 2008
vor 12 Jahren

jettzt hab ichs verstanden,
entweder Code generieren, oder einen code schreiben der ein File interpretieren kann und zur Laufzeit ein Form erzeugt.
aber für meinen Geschmak würde ich ein designer file generieren,eben damit
VS auch was damit anfangen kann. Würd ich halt meinen.
aber ich hab schon festgestellt dass ich "manchmal" eigenartige Ansichten habe 😉

mbg
Rossegger Robert
mehr fragen mehr wissen

Montag morgen ist die beste Zeit um eine erfolgreiche Woche zu beginnen