相关疑难解决方法(0)

在MVVM中进行序列化有很多麻烦

我正在WPF中开发一个基于文本的游戏,我正在探索MVVM.目前我的项目中有2个模型,Adventurer和GameDate(我不关心这个应该或不应该是什么模型.我稍后会解决这个问题).我有一个viewmodel MainViewModel和一个视图MainView.MainView有按钮绑定保存/加载命令......这就是我被卡住的地方.我非常想实现一种二进制序列化的形式; 我有一个ObjectSerializer函数类,其中相应的部分在Save和Load命令中MainViewModel,但我不知道如何'获取'访问需要序列化的类的实例(在这种情况下是模型因为我从来没有手动实例化它们中的任何一个.此外,我想找到一种方法将它们全部序列化在一个文件中(游戏的典型"保存"文件).

任何在MVVM中处理过序列化的人都应该引导我完成这个过程吗?我一直坚持这一切,但没有取得任何进展,这让我发疯.如果有人可以提供某种例子,我将永远负债累累.先感谢您; 一个能让我超越这个驼峰的答案不会得不到重视.我真的在这里尝试......

ObjectSerializer.cs

    protected IFormatter iformatter;

    public ObjectSerializer()
    {
        this.iformatter = new BinaryFormatter();
    }

    public T GetSerializedObject(string filename)
    {
        if (File.Exists(filename))
        {
            Stream inStream = new FileStream(
                filename,
                FileMode.Open,
                FileAccess.Read,
                FileShare.Read);
            T obj = (T)this.iformatter.Deserialize(inStream);
            inStream.Close();
            return obj;
        }
        return default(T);
    }

    public void SaveSerializedObject(T obj, string filename)
    {
        Stream outStream = new FileStream(
            filename,
            FileMode.Create,
            FileAccess.Write,
            FileShare.None);
        this.iformatter.Serialize(outStream, obj);
        outStream.Close();
    }
Run Code Online (Sandbox Code Playgroud)

c# serialization mvvm

1
推荐指数
1
解决办法
2953
查看次数

标签 统计

c# ×1

mvvm ×1

serialization ×1