我试图将对象列表序列化到我的 user.settings 文件中。我已经尝试了很多东西,我唯一要做的就是这里的解决方案。将自定义类的集合添加到 Settings.Settings我尝试了许多不同的方法,但这是唯一始终有效的方法。
编辑:我试图序列化的是一个对象列表(可序列化类的),或者只是一个元组列表
解决方案如下所示:
public class Favorites: ApplicationSettingsBase
{
[UserScopedSetting()]
[SettingsSerializeAs(System.Configuration.SettingsSerializeAs.Binary)]
[DefaultSettingValue("")]
public System.Collections.ArrayList FavoritesList
{
get
{
return ((System.Collections.ArrayList)this["FavoritesList"]);
}
set
{
this["FavoritesList"] = (System.Collections.ArrayList)value;
}
}
}
从技术上讲,它有效。但是,我想让它作为 XML 序列化而不是二进制工作。切换到 SettingsSerializeAs.Xml,它不会序列化设置,我得到的只是这些设置的空标签。当我将设置序列化为 XML 时,我是否必须采取不同的做法?