C# Dynamische Modifikation eines Srtings wärens des Kompilierens.

Gast #1086249
Lesenswert?

Hallo,

für ein Projekt betötige ich eine Klassenbibliothek in der 
Personalisierte Dated gespeichert sind. Die Klasse steht schon, ist nur 
ein Sring der Geändert werden muss (ca 30 mal). Die Daten für den 
#string hab ich in einer txt, Format etwa so:

Text1
Text2
....
TextN

Nun ist es dumm jedes mal wenn ich neu kompiliere den ganzen Schmus von 
Hand einzutragen. Gibt es da vielleicht eine bessere Lösung für?

Danke im Voraus,

SD-Fritze
Gast #1086280
Lesenswert?

Also,
ich habe eine Funktion die mir einen string als Return gibt. Und dieser 
String soll wärend des Kompilierens  geändert werden, so dass  ich 
mehrere Dateien mit jeweils anderen Returns bekomme.


Bye,

SD-Fritze
Gast #1086289
Lesenswert?

leider fehlt immer noch ein paar Infos - in welcher art und weise soll 
der Return angepasst werden? woher soll also der Compiler wissen wann er 
welches String einsetzen soll?
Auch seh ich den Sinn von sotwas noch nicht.
Gast #1086307
Lesenswert?

Wieso lädst du die Strings dann nicht einfach aus einer Textdatei? Wenn 
die personalisierten Daten mehrere Strings sind dann trenn sie einfach 
durch ein Semikolon und bei einer neuen Zeile ist dann ein neuer 
Datensatz also z.B. :

Name1;Geburtsdatum1;Geburtsort1;
Name2;Geburtsdatum2;Geburtsort2;

oder so ähnlich
Gast #1086324
Lesenswert?

Hm,

leider ist die DLL userspezifisch, so dass das nichts wird.

Er soll einfach in eine Schleife einsetzen: pseudocode:
1
For I= 1 to 30
2
  string = Readline("config.txt")
3
  compile
4
  rename
5
Next i
Gast #1086332
Lesenswert?

Dann mach es doch genau so, schreibe ein kleines Programm welches in der 
quellcode datei den Text abändert und danach den Compiler aufruft.
Aber Ich versteht den Sinn das ganzen nicht, eine Klasse die gleich 
heist und immer was anderes macht spricht nicht gerade für eine Saubere 
Programmierung - auch die Wartbarkeit und die Fehleranfälligkeit steigt 
damit.
Bist du sicher das du es so machen must und es keinen sauberen Weg dafür 
gibt?
Gast #1086356
Lesenswert?

war ja klar, also kein richtiger Grund. Ob nun die ini Datei oder das 
komplette Programm ausgtauscht werden muss ist ja wohl egal. Und jeder 
der sich ein wenig auskennt öffnet einfach die exe und ändert den String 
drin ab. Das einzigste was ein wenig hilft ist das Programm an den 
Rechner zu binden z.b. Über den Windows GUID.
Gast #1086787
Lesenswert?

Wo ist denn nun der unterschied wenn der Code gleich ist und die Klasse 
ihren return wert aus einer ini ausliest, oder ob der Wert gleich im 
Code steht?
Es ist eine sehr unsaubere Programmierung wenn man soetwas im Code macht 
und dann verschienden Versionen von einer Klasse existieren.
Es muss ja keine PlainText ini Datei sein. Es könnte ja auch eine 
Verschlüsselte Datei sein. Damit ist der Programm Code gleich und 
austauschbar.
#1087291
Lesenswert?

Ich würde in den String, der in die dll compiliert wird, eine eindeutige 
Signatur der entsprechenden Länge schreiben und ein kleines Tool 
basteln, das die dll einliest, und gegen den endgültigen String 
austauscht.

Dazu muß man nicht jedesmal den ganzen Bettel neu compilieren...

Wenn der Linker allerdings eine Prüfsumme einträgt, die vom Lader 
geprüft wird, gehts leider nicht so einfach.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren