我在我的简单项目中遇到了一个问题。我想要建立一个书店管理员,用来跟踪书店里的书籍(来自供应商的帐单)以及出售商店时出售的书籍。为了跟踪图书,我将它们存储在一本字典中,其中密钥是本书的ISBN。它看起来像这样:序列化和反序列化类中的静态成员?
Dictionary<string,IBook> BOOKS;
此外,我需要另一本字典,跟踪不同供应商的账单。 这一个看起来是这样的:
Dictionary<string,Supplier> SUPPLIERS;
在这种情况下,关键是供应商的名称。 每个供应商都有一个数据字段票据的列表:
[Serializable]
public class Supplier
{
private List<Bill> supplierBills;
private string supplierName;
....
}
现在每个比尔看起来是这样的:
[Serializable]
public class Bill
{
private List<IBook> billBooksList;
private double billTotalDue;
private DateTime billCreationDate;
private DateTime billDueDate;
public static int billNumber = 0;
}
当我关闭应用程序,我序列两个教辅和供应商字典。当我打开它时,发生反序列化。我的问题与Bill类中的静态成员billNumber有关。它不会序列化。每次我打开应用程序变量重置为0.
我试图使用how to serialize and deserialize static member的例子,但我没有序列化从直接类静态成员(在我的情况是供应商类)。
任何帮助表示赞赏:)
使用一个真正的数据库来代替。 – Oscar
为什么billNumber静态的?为什么你需要序列化它? – Vadim
我使用billN当我添加一个新的比尔时,我可以区分它们。我需要序列化它,因为当我关闭应用程序时,这个值会丢失。 –