Ich wollte nur einige Hauptkonfigurationen in einer Einstellungsdatei speichern, da sich die Konfiguration jederzeit ändern kann. Die Benutzer meiner Anwendung werden in der Lage sein, einige Dinge in mehreren Umgebungen zu verwalten. Jede Umgebung hat ihre eigene Konfiguration (Pfade zu Netzwerkstandorten grundlegend).C# - Speichern der Struktur (en) in der Einstellungsdatei
Ich habe eine Struktur für jede Umgebung erstellt, aber jetzt müssen wir einige weitere Umgebungen hinzufügen, daher ist es hilfreich, diese Konfiguration außerhalb des Quellcodes zu speichern.
Also, lassen Sie mich Ihnen einen Code geben. Ich baute zwei structs jede Umgebung zu beschreiben:
public struct env_conf
{
string title;
string path_to_xml;
string path_to_sharepoint;
List<subfolder> subfolders;
//Some more strings
public env_conf(string title, string path_to_xml, string path_to_sharepoint ...)
{
//Constructor which is setting the variables
}
}
public struct subfolder
{
string folder;
bool is_standard;
public env_conf(string folder, bool is_standard)
{
//Constructor which is setting the variables
}
}
Und das ist, wie die Umwelt configs eingerichtet sind:
var finance_conf = new env_conf("MyTitle","MyXMLPath","MySPPath",
new List<subfolder>{new subfolder("MySubFolder",true);new subfolder("MySubFolder2",false)}
);
var sales_conf = new env_conf("MySalesTitle","MySalesXMLPath","MySalesSPPath",
new List<subfolder>{new subfolder("MySalesSubFolder",true);new subfolder("MySalesSubFolder2",false)}
);
Dieser letzte Schritt - die Definition der config-Instanzen soll nun sein, innerhalb von eine Einstellungsdatei.
Speichern string
und auch string[]
in der Einstellungsdatei war für mich bisher kein Problem. Aber jetzt habe ich mehr als das ...
Mehr als das, ich habe kein Visual Studio. Ich arbeite mit SharpDevelop, was bisher sehr gut war.
Das Markieren meiner Strukturen als serialisierbar war nicht hilfreich. Wenn ich den Typ der Einstellung manuell auf MyNamespace.env_conf
einstelle, wird er nicht im Einstellungsdesigner angezeigt - nur ein "?" erscheint im Type-Feld. So für jetzt weiß ich nicht weiter. Auch alle Informationen, die ich im Internet finde, scheinen mir nicht zu helfen. Bitte hilf mir.
Wie muss meine XML-Einstellungsdatei bearbeitet werden? Wie muss mein Quellcode bearbeitet werden?
Grüße!
Warum verwenden Sie eine Struktur anstelle einer Klasse? Und was ist falsch mit der Serialisierung? –
Könnte auch eine Klasse sein, du hast Recht. Da ich nur Variablen und keine Funktionen darin habe, wird eine Struktur dasselbe tun. Ich weiß nicht, warum die Serialisierung nicht funktioniert, darum frage ich. – xola
Ich weiß auch nicht, warum Ihre Serialisierung nicht funktioniert - weil * Sie nicht beschreiben, was Sie tun, außer ein Attribut zu setzen *. – grek40