2011-09-09 11 views
0

私は、以前に孤立したストレージを使用して、テキストファイル、xmlファイル、およびイメージを保存しました。しかし、IEnumerableの変数を保存することは可能ですか?IsolatedStorageまたはWindows phone 7の他のリソース?IEnumerableをIsolated Storageに保存

おかげで、箱から出して、シリアライズされたデータリストのセーブ/ロードするための

答えて

2

あなたは "変数を保存する"というものはありません。オブジェクトを保存するということはありません。変数はオブジェクトを指し、そのオブジェクトはIEnumerableを実装します。 WP7では、そのオブジェクトをシリアル化してISOに直接格納できるかどうかを決定するのは、オブジェクトの実際のクラスです。その実際のコレクションクラスがシリアライゼーションをサポートしていない場合、現在のすべての要素をリスト/配列/ディクショナリ/スタック/キューに再ラップする必要があります。

あなたがシリアライズ可能なコレクションを持っていたら、その後、節約のためにあなたのコードはのように些細なものに減少します:

IsolatedStorageSettings.ApplicationSettings["blah"] = your_serializable_collection; 
IsolatedStorageSettings.ApplicationSettings.Save(); 

と一般的には、それはそれです。取得は似ていますSomeCollectionがかもしれ

var items = (SomeCollection)IsolatedStorageSettings.ApplicationSettings["blah"]; 

IEnumerableを、リスト/配列/辞書/スタック/キュー - あなたがそこに入れて、どんな実際のコレクションクラスによって実装されていたものは何でも。

あなたが望むのであれば、IsolatedStorageFileを使用してファイルを直接書き込むことができますが、一般的な辞書を使用するのがはるかに単純であるため、その中にポイントがありません。私の他の記事で

あなたはいくつかのリンクを見つけることができます: How to do isolated storage in Wp7?

1

使用。最後にIEnumerableを逆シリアル化しようとしましたが、エラーが発生しました...

+0

我々は簡単にリストとIEnumerableを切り替えることができますので、[OK]を、これは簡単です。 私はオンラインで検索して何も見つからなかったので、リストを保存して読み込むコードを提供できますか? – Ameen

+0

[ここに書いてあります](http://j2i.net/BlogEngine/post/2011/02/10/Simple-Data-Serialization-on-WP7.aspx)のように、あなたが選んだシリアライザを使用してください。 –

関連する問題