設定がいつでも変更される可能性があるため、設定ファイルにはいくつかのメイン設定を保存したかっただけです。 私のアプリケーションのユーザーは、いくつかの環境でいくつかのものを管理することができます。 各環境には独自の構成(基本的にネットワークロケーションへのパス)があります。C# - 設定ファイルに構造体を格納する
私は環境ごとに構造体を構築しましたが、ここでいくつかの環境を追加する必要があるため、その設定をソースコードの外に保存すると便利です。
だから、いくつかのコードを教えてください。
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
}
}
そして、これは環境のconfigsが設定されている方法です:私は、それぞれの環境を記述するための2つの構造体を構築し
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)}
);
この最後のステップ - 設定 - インスタンスの定義は、今の内側にあるもの設定ファイル
設定ファイルにstring
とstring[]
を保存することは今まで私にとっては問題ありませんでした。しかし、今私はそれ以上のものを持っています...
以上、私はVisual Studioを持っていません。私はSharpDevelopで作業しています。
私の構造体をシリアライズ可能とマークするのは役に立ちませんでした。また、手動で設定のタイプをMyNamespace.env_conf
に設定すると、設定デザイナーには表示されません。「?」のみです。タイプフィールドに表示されます。 今のところ、私はどのように進むべきか分かりません。また、私がインターネットで見つけたすべての情報は私を助けてくれないようです。私を助けてください。
私のXML設定ファイルはどのように編集されますか? ソースコードの編集方法は?
おはようございます!
なぜクラスではなく構造体を使用していますか?シリアライゼーションの何が問題になっていますか? –
クラスでもいいですね。私は変数と関数を持たないので、構造体は同じことをします。 なぜシリアル化がうまくいかないのか分からないので、私は尋ねています。 – xola
なぜあなたのシリアル化がうまくいかないのか分かりません。なぜなら*あなたが属性を設定する以外に何をしているのか記述していないからです。 – grek40