首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BinaryFormatter.Serialize不工作

BinaryFormatter.Serialize不工作
EN

Stack Overflow用户
提问于 2016-02-11 21:59:17
回答 1查看 1.5K关注 0票数 0

我试图将一个对象序列化为一个二进制文件。我使用BinaryFormatter.Serialize来序列化对象,但是当我试图调用它时,流参数“意外符号‘(’在类中、结构中或接口成员声明中‘)会出现一个解析器错误。

这是我的密码:

代码语言:javascript
复制
using UnityEngine;
using System.Collections;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;

public class Serializer{
    Properties prop = new Properties ();
    IFormatter f = new BinaryFormatter();
    Stream s = new FileStream("Properties/prop.bin", FileMode.Create, FileAccess.Write, FileShare.None);
    f.Serialize(s, prop);
    s.Close();
}

错误发生在:

代码语言:javascript
复制
f.Serialize(s, prop); //the error is on the 's'

我在这里也有同样的错误:

代码语言:javascript
复制
s.Close();

我如何纠正这些错误?

下面是我正在序列化的内容:

代码语言:javascript
复制
public class Properties{
    public string y = "2";
    public string x = "4";
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-11 22:07:00

您的代码需要在函数中。

代码语言:javascript
复制
public class Serializer{

    public void Seralize()
    {
        Properties prop = new Properties ();
        IFormatter f = new BinaryFormatter();
        Stream s = new FileStream("Properties/prop.bin", FileMode.Create, FileAccess.Write, FileShare.None);
        f.Serialize(s, prop);
        s.Close();
    }

}

但是,我建议您避免使用BinaryFormatter程序集版本更改可以很容易地破坏您的文件,而是使用XML或其他二进制格式化程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35350898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档