1
私のC#WinFormsではツリービューがあり、TreeViewのコンテンツをシリアライズされたファイルとして保存します。だから私は今、素敵なセーブとロードの機能を持っているシリアライズされたコントロールのコンテンツに余分なデータをコメントとして追加する
シリアライズし
List<TreeNode> treeNode = new List<TreeNode>();
foreach (TreeNode node in treeViewFiles.Nodes)
{
treeNode.Add(node);
}
//Serialize az binary
using (Stream file = File.Open(saveList.FileName, FileMode.Create))
{
BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(file, treeNode);
}
デシリアライズし、負荷
BinaryFormatter bf = new BinaryFormatter();
object obj = bf.Deserialize(file); //file is path to file (came from openfiledialog
TreeNode[] nodeList = (obj as IEnumerable<TreeNode>).ToArray();
//Add nodes to tree
treeViewFiles.Nodes.AddRange(nodeList);
質問
を保存します。ここに私のコードですしかし、私が必要とするのは、それらのデータを同じファイルにコピーします。たとえば、いくつかの文字列を同じファイルに追加したい場合、それらがロードされると、メッセージボックスがポップアップし、このファイルを保存したユーザーの名前や他のものが表示されます。それは可能でしょうか?任意のヒントとコードは大歓迎です!
SavedData
を保存TREENODE保存しますありがとう、ええ、私は間違った方法で考えていたと思う!私はすぐにこれを試みます。現時点では、フィールドの前にそのアンダースコアが何であるかを伝えることができますか? –
これは私たちが仕事場で使うコーディングの標準です。プライベートフィールドを表しています。それはあなたが働いているものがクラスにプライベートであることを知ることのちょっとした素早い方法です。 –