質問

キーと値のペアを app.config ファイルに保存できる構成セクションを作成する必要があります。キーと値のペアは、タイプに関係なくランタイムに追加できます。値が元の型を維持することも重要です。次のインターフェースを拡張する必要があります

public interface IPreferencesBackend
{
    bool TryGet<T>(string key, out T value);
    bool TrySet<T>(string key, T value); 
}

実行時に次のように言えます。

My.Foo.Data data = new My.Foo.Data("blabla");
Pref pref = new Preferences();
pref.TrySet("foo.data", data); 
pref.Save();

My.Foo.Data date = new My.Foo.Data();
pref.TryGet("foo.data", out data);

System.Configuration.Configuration.AppSettings を試してみましたが、キーと値のペアを文字列配列に格納しているという問題がありました。

必要なのは、個々の設定をシリアル化する方法を制御できる System.Configuration.ConfigurationSection の実装です。Visual Studio によって生成された設定がこれを行うことに気付きました。すべての設定キーの作成にはリフレクションを使用しています。私に必要なのは、このランタイムを動的に実行することです。

[System.Configuration.UserScopedSettingAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.Configuration.DefaultSettingValueAttribute("2008-09-24")]
public global::System.DateTime DateTime {
   get {
        return ((global::System.DateTime)(this["DateTime"]));
       }
   set {
        this["DateTime"] = value;
       }
 }
役に立ちましたか?

解決 2

codeproject.com で、これらの問題を詳細に説明している 2 つの素晴らしい記事を見つけました。

.NET 2.0構成の謎を解明するhttp://www.codeproject.com/KB/dotnet/mysteriesofconfiguration.aspx

ユーザー設定が適用されましたhttp://www.codeproject.com/KB/dotnet/user_settings.aspx?display=PrintAll&fid=1286606&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2647446&fr=26

他のヒント

Phil Haack が素晴らしい記事を書いています カスタム構成セクションの作成

ASCII テキスト ファイルで取得できるのは文字列だけです。:-)

ただし、「値」文字列をエンコードして、次のような型パラメータを含めることができます。

<key="myParam" value="type, value" />

例えば:

<key="payRate" value="money,85.79"/>

次に、アプリに変換を実行させます...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top