アプリケーション設定ファイル(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();
私はこの答えに従って、リスト設定を作成しました。私の.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;
}
}
TFS_Extraction.IterationFilter
シリアル化可能である必要があります。このクラスには、パブリックのデフォルトコンストラクタが必要です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加