在我的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,但是我需要做一些手动工作才能将它放入设置文件中吗?此外,有没有办法弄清楚哪些类/类型可以用作设置,哪些不是?
答案 0 :(得分:1)
如果要查看此异常,请确保启用了Break When Exceptions,以及.Net Framework Source Stepping。虽然我认为您不希望将复杂数据类型序列化到Settings.settings文件,但是如果您真的死定了,那么可以将其序列化为由分号和逗号分隔的字符串。