为什么这个通用列表没有被保存在应用程序设置中?
问题描述:
我正在保存和加载我的应用程序设置文件(Settings.settings)中的各种变量。保存/加载变量,如strings
,Uris
和DataTables
是正常工作。为什么这个通用列表没有被保存在应用程序设置中?
尝试保存/加载自定义对象List<IterationFilter>
时,应用程序关闭并重新打开时,列表将丢失。 List<IterationFilters>
在重新加载应用程序时变为null
...即使已将IterationFilter
添加到列表并保存。
保存字符串(正常工作):
Properties.Settings.Default.ConnectionString = connectionString;
Properties.Settings.Default.Save();
保存泛型列表:
Properties.Settings.Default.FilterList.Add(newFilter);
Properties.Settings.Default.Save();
我跟着this answer,创建我的列表设置。我.settings文件是这样的:
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public System.Collections.Generic.List<TFS_Extraction.IterationFilter> FilterList {
get {
return ((System.Collections.Generic.List<TFS_Extraction.IterationFilter>)(this["FilterList"]));
}
set {
this["FilterList"] = value;
}
}
我IterationFilter类:
namespace TFS_Extraction
{
[Serializable]
public class IterationFilter
{
public string Operator { get; set; }
public string Value { get; set; }
public IterationFilter(string _operator, string _value)
{
Operator = _operator;
Value = _value;
}
}
@Crowcoder我应该清楚,我的所有设置和作用域为“用户”。 –
IterationFilter类以任何方式可序列化?例如它是用SettingsSerializeAs属性标记的吗?我加 – Ralf