問題
アプリケーションの設定と値を設計するときに Visual Studio がコードを生成すると私は信じています。したがって、実行時にこれは容易ではなく、最悪の場合、設計者なしでは不可能です。ただし、実行時に設計機能を呼び出すことができる場合があります。
コード ビハインドには、デザイナーで作成した C# のプロパティが含まれていることがわかります。たとえば、次の設定を追加しました。
Age [int] 30.
コード ビハインドは以下を生成しました。
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("30")]
public int Age {
get {
return ((int)(this["Age"]));
}
set {
this["Age"] = value;
}
}
(コード生成は、厳密に型指定された設定がある理由です)
実行時にこれと同じことができるかどうかはわかりません。コードを生成し、それを動的に JIT コンパイラーにフィードバックする必要があります。あるいは、設定に関する私の限られた理解の中で、私が知らない別の方法があるかもしれません。
提案/回避策
フープを飛び越える代わりに、別の/より簡単な方法を考え出すことをお勧めします。たとえば、1 つの設定をシリアライズ可能なコレクション型にして、複数の値を格納できるようにします。
次に、たとえば、1 つの設定で複数の年齢を保存できます。
Ages [System.Collections.ArrayList] {add multiple values programatically}
次のように管理する C# コードになる可能性があります。
System.Collections.ArrayList list = new System.Collections.ArrayList();
list.Add("1");
list.Add("30");
Properties.Settings.Default.Ages = list;
Properties.Settings.Default.Save();