2

私の C# プログラム (.net v4、MS Visual C# Express) で、クラス ListDictionary の設定を使用しようとしています。

ここに私のテストコードがあります:

// String setting
Properties.Settings.Default.StringTest = "Llama llama LLAMA!";

// ListDictionary setting
ListDictionary ld = new ListDictionary();
ld.Add("key1", "llama");
ld.Add("key2", "alpaca");

Properties.Settings.Default.LDTest = ld;

// Save settings
Properties.Settings.Default.Save();

私のコードを実行した後、user.configファイルは文字列設定で書き込まれますが、ListDictionary 設定では書き込まれません (抜粋):

    <setting name="StringTest" serializeAs="String">
        <value>Llama llama LLAMA!</value>
    </setting>
    <setting name="LDTest" serializeAs="Xml">
        <value />
    </setting>

リスト ディクショナリはシリアライズ可能としてここにリストされていますが、設定ファイルに入れるために手動で行う必要がある作業はありますか? さらに、設定として使用できるクラス/タイプとそうでないクラス/タイプを把握する方法はありますか?

4

1 に答える 1

1

例外がスローされたときにブレークが有効になっていることを確認し、この例外を表示する場合は.Net FrameworkSourceSteppingを有効にします。複雑なデータ型をSettings.settingsファイルにシリアル化する必要はないと思いますが、これを実行することに本当に夢中になっている場合は、セミコロンとコンマで区切られた文字列にシリアル化できます。

例外がスローされたときにブレークが有効になっていることを確認してください

于 2011-02-28T22:25:25.200 に答える