C# アプリの設定にいくつかの変数を追加したいのですが、コードでこれを行う方法はありますか。プロジェクトに移動してから myApp プロパティなどに移動することでそれを行うことができますが、アプリの実行中に設定を追加したいので、コードで行う必要があります。または、設定タイプをそのような LinkedList<> にする方法を教えてください。そうすれば、それにいくつかのアイテムを追加できるようになります。
3 に答える
既存の 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");
ConfigurationManager.AppSettingsプロパティを使用できます。の代わりに、 NameValueCollection構造LinkedList
を使用します。
ヒント: この方法では変数を (直接) 追加することはできませんが、変数を保存することはできます:
1 - 設定で変数を宣言し、そのスコープをアプリケーションではなくユーザーに設定します。値を変更してから、Properties.Settings.Default.Save(); を呼び出します。ただし、これは実行中のアセンブリには保存されず、そのアプリケーションの適切な AppData フォルダーに保存されます。
2 - 新しい値を追加するには、シリアル化可能なキーと値のコレクション (@keyboardP が NameValueCollection を提案したように) 設定を定義し、実行時にその値を変更できます。
3 - (まったく異なるアプローチ:)その目的のために別の別個の機能チェーンを使用できます(xml、txt、iniファイル、ローカルまたは組み込みデータベースなど)とにかく、設定の同時読み取りを処理する必要があるためですこれは、Properties.Settings.Default がすぐに提供するものではありません (ただし、これは、アプリに並列部分がある場合に当てはまります)。