三部分问题。
我昨天发布了一个关于嵌套类等的问题(顺便说一句,很有帮助)。但是,现在我继续使用同一个程序,它利用 MDI 来跟踪多个通用商店及其各自的库存,以便在从自定义 .inv 文件打开时进行实例化。为此,Store 类和 Record 类都可序列化以保存到所述自定义文件。
我不知道它是什么,但我只是不明白序列化。我很了解这个概念,只是不了解实践,所以我要求一点耐心。
第 1 部分)我以原始形式创建了一个 saveFileDialog,旨在以 .inv 文件扩展名保存我放入其中的任何文件。现在,问题是我究竟如何将实例化类传递给它,以便以允许我稍后打开文件(如下)的方式保存?
第 2 部分)对于 openFileDialog,分两部分。
首先,在上面保存之后,我如何读取信息?我的意思是,我考虑过使用带有重命名文件扩展名的文本文档来存储所有值,这样我就可以一次读取存储名称和记录,但是因为我不知道序列化以及我需要,我不知道这是否是个好主意。
其次,我将如何实例化我试图打开的实例?是否像创建一个类的实例一样简单,每次打开一个新文档时,我都会清除所有内容并添加打开文件中的值,还是比这更复杂?
类的代码如下,因为这会让您了解我打算保存的内容。如果您需要任何其他代码,请告诉我。
using System.Text;
using System.Threading.Tasks;
namespace Inventory
{
[Serializable]
class Store
{
public Store() { }
public Store(string name) { }
public string name { get; set; }
public List<Record> Records { get; private set; }
}
[Serializable]
class Record
{
public Record() { }
public Record(int ID, int Quantity, double Price, string Name) { }
public int id { get; set; }
public int quantity { get; set; }
public double price { get; set; }
public string name { get; set; }
}
}