내 응용 프로그램 설정 파일 (Settings.settings)에 다양한 변수를 저장하고로드하고 있습니다. strings
, Uris
및 DataTables
과 같은 변수 저장 /로드는 이 올바르게 작동합니다.입니다.이 일반 목록이 응용 프로그램 설정에 저장되지 않는 이유는 무엇입니까?
사용자 지정 개체 List<IterationFilter>
저장 /로드를 시도하면 응용 프로그램을 닫았다가 다시 열면 목록이 손실됩니다. List<IterationFilters>
은 IterationFilter
이 목록에 추가되어 저장 되었더라도 응용 프로그램이 다시로드 될 때 null
이됩니다. : 일반적인 목록을 저장
Properties.Settings.Default.ConnectionString = connectionString;
Properties.Settings.Default.Save();
:
A (제대로 작동) 문자열을 저장
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