我试图使用ApplicationSettingsBase来保存自定义对象的列表。下面是我的应用程序设置类:
internal class ApplicationSettings: ApplicationSettingsBase
{
[DefaultSettingValue(""), UserScopedSetting]
public List<MyAwesomeClass> MyObjects
{
get
{
try
{
return this["MyObjects"] as List<MyAwesomeClass>;
}
catch (SettingsPropertyNotFoundException)
{
return null;
}
}
}
public void Add(MyAwesomeClass val)
{
MyObjects.Add(val);
this["MyObjects"] = MyObjects;
}
}这是我的定制课程:
[Serializable]
public class MyAwesomeClass
{
public Guid Id { get; set; }
public string SomeStringProperty{ get; set; }
public bool SomeBooleanProperty{ get; set; }
}下面是用法:
_applicationSettings = new ApplicationSettings();
_applicationSettings.Add(new MyAwesomeClass {/*Some initial values*/});
_applicationSettings.Save();但是当应用程序重新启动时,_applicationSettings.MyObjects总是有零计数。我不知道为什么我的名单不想存钱。有人能帮我吗?谢谢!
发布于 2016-10-30 23:33:33
你需要用[SettingsSerializeAs(SettingsSerializeAs.Binary)]来装饰你的房产
[DefaultSettingValue(""), UserScopedSetting]
[SettingsSerializeAs(SettingsSerializeAs.Binary)]
public List<MyAwesomeClass> MyObjects应用程序设置架构设置持久性?设置序列化 如果实现自己的设置类,则可以使用
SettingsSerializeAsAttribute使用SettingsSerializeAs枚举标记二进制或自定义序列化的设置。
https://stackoverflow.com/questions/40334532
复制相似问题