我正在保存和加載我的應用程序設置文件(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