没有找到解决以下问题的方法.
我有一个工作代码用于在文件中保存/加载TreeView但我想将它保存到Properties.Settings.Default.
不幸的是,我在这行中收到错误"没有对象的地图":
object obj = bf.Deserialize(ms);
Run Code Online (Sandbox Code Playgroud)
这是(反)序列化的完整代码:
不知道如何解决这个问题.:(
public static void SaveTreeView(TreeView tree)
{
using (MemoryStream ms = new MemoryStream())
{
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(ms, tree.Nodes.Cast<TreeNode>().ToList());
ms.Position = 0;
var sr = new StreamReader(ms);
Properties.Settings.Default.tree = sr.ReadToEnd();
Properties.Settings.Default.Save();
}
}
public static void LoadTreeView(TreeView tree)
{
using (MemoryStream ms = new MemoryStream())
{
var sw = new StreamWriter(ms);
sw.WriteLine(Properties.Settings.Default.tree);
sw.Flush();
ms.Seek(0, SeekOrigin.Begin);
BinaryFormatter bf = new BinaryFormatter();
object obj = bf.Deserialize(ms);
TreeNode[] nodeList = (obj as IEnumerable<TreeNode>).ToArray(); …Run Code Online (Sandbox Code Playgroud)