使用ListDictionary类设置(Settings.settings)

时间:2011-02-28 22:02:14

标签: c# .net-4.0 settings.settings

在我的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>

列表字典被列为可序列化here,但是我需要做一些手动工作才能将它放入设置文件中吗?此外,有没有办法弄清楚哪些类/类型可以用作设置,哪些不是?

1 个答案:

答案 0 :(得分:1)

如果要查看此异常,请确保启用了Break When Exceptions,以及.Net Framework Source Stepping。虽然我认为您不希望将复杂数据类型序列化到Settings.settings文件,但是如果您真的死定了,那么可以将其序列化为由分号和逗号分隔的字符串。

Make sure you have Break When Exceptions thrown enabled