如何以二进制格式加载文件

时间:2016-05-11 13:17:58

标签: c# windows oop for-loop

我已使用此代码并尝试加载文本文件。但它有一个错误。错误显示在" loaddate()"我也通过了returen值//这里我尝试创建一个列表并将数据上传到列表中。

public partial class RegisterUser : Form
{
    List<Log> list = null;

    public RegisterUser()
    {
        InitializeComponent();
      //  list = new List<Log>();
        list = loadData();
    }

    public List<Log> loadData() 
    {
        List<Log> lst = null;
        if (File.Exists("Login.bin"))
        {
            Stream stream = File.Open("Login.bin", FileMode.Open);
            BinaryFormatter bformatter = new BinaryFormatter();
            lst = (List<Log>)bformatter.Deserialize(stream);
            stream.Close();

        }
        else
        {
            lst = new List<Log>();
        }
        return lst;
    }
}

1 个答案:

答案 0 :(得分:1)

也许你想对你的问题做一点解释:

您有一个公共课RegisterUser。 在这个公共类中,您有一个公共函数loadData。 因此返回值在所有其他类中都可见。

但是你返回一个类型,这个类型在所有其他类中都不可见。

那很糟糕。您可以调用该函数,但无法看到返回类型。 这就是Log课程也必须公开的原因。

如果您的班级RegisterUserprivateinternal,则Log班级可能具有相同的访问类型。

希望这能帮助你下一次。