4

C# アプリの設定にいくつかの変数を追加したいのですが、コードでこれを行う方法はありますか。プロジェクトに移動してから myApp プロパティなどに移動することでそれを行うことができますが、アプリの実行中に設定を追加したいので、コードで行う必要があります。または、設定タイプをそのような LinkedList<> にする方法を教えてください。そうすれば、それにいくつかのアイテムを追加できるようになります。

4

3 に答える 3

4

既存の AppSetting を操作するために使用するコードを次に示します。

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["PrinterID"].Value = "Some Value";
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");

新しい AppSetting を追加するには、2 行目を次のように変更します。

config.AppSettings.Settings.Add("PrinterID", "Some Value");
于 2013-01-18T19:50:48.520 に答える
1

ConfigurationManager.AppSettingsプロパティを使用できます。の代わりに、 NameValueCollection構造LinkedListを使用します。

于 2013-01-18T19:47:38.953 に答える
0

ヒント: この方法では変数を (直接) 追加することはできませんが、変数を保存することはできます:

1 - 設定で変数を宣言し、そのスコープをアプリケーションではなくユーザーに設定します。値を変更してから、Properties.Settings.Default.Save(); を呼び出します。ただし、これは実行中のアセンブリには保存されず、そのアプリケーションの適切な AppData フォルダーに保存されます。

2 - 新しい値を追加するには、シリアル化可能なキーと値のコレクション (@keyboardP が NameValueCollection を提案したように) 設定を定義し、実行時にその値を変更できます。

3 - (まったく異なるアプローチ:)その目的のために別の別個の機能チェーンを使用できます(xml、txt、iniファイル、ローカルまたは組み込みデータベースなど)とにかく、設定の同時読み取りを処理する必要があるためですこれは、Properties.Settings.Default がすぐに提供するものではありません (ただし、これは、アプリに並列部分がある場合に当てはまります)。

于 2013-01-18T20:04:03.487 に答える