オブジェクトのリストを user.settings ファイルにシリアル化しようとしていました。私は多くのことを試しましたが、ここで解決できたのは唯一のことでした。カスタム クラスのコレクションを Settings.Settings に追加するさまざまなことを試しましたが、一貫して機能するのはこれだけでした。
編集:私がシリアライズしようとしているのは、(シリアライズ可能なクラスの)オブジェクトのリスト、または単なるタプルのリストです
解決策は次のようになります。
public class Favorites: ApplicationSettingsBase
{
[UserScopedSetting()]
[SettingsSerializeAs(System.Configuration.SettingsSerializeAs.Binary)]
[DefaultSettingValue("")]
public System.Collections.ArrayList FavoritesList
{
get
{
return ((System.Collections.ArrayList)this["FavoritesList"]);
}
set
{
this["FavoritesList"] = (System.Collections.ArrayList)value;
}
}
}
技術的には、それは機能します。ただし、バイナリとしてではなく、XML シリアライゼーションとして動作するようにしたかったのです。SettingsSerializeAs.Xml に切り替えると、設定がシリアル化されません。取得するのは、これらの設定の空のタグだけです。設定を XML としてシリアル化する場合、別の方法で行う必要がありますか?