0

在我的应用程序中,我将所有数据存储在静态列表AllData中,它继承自;

public class GenericList<T> : BindingList<T>, IList<T> 

我将用户的更改设置为AllData的选定项目,我的问题是关于取消更改。如果用户取消更改,我会再次从数据库中检索所有数据。这不是一个有用的解决方案;这需要时间,创建新的数据库连接等。

我认为我在改变之前已经有了旧的价值观。我可以备份第一个值,如果用户取消更改,则恢复备份的值。问题来了;我试图通过ObjectCopier类克隆AllData的选定项目

public static T Clone<T>(T source)

,并得到类似的错误

类型“XYZ”未标记为可序列化。

是的,我有几个序列化的类,而其他的没有序列化。我试图克隆的AllData的选定项目包含我创建的所有数据类型。

我应该对所有课程进行连载吗?如果是; 这会导致任何问题(安全性、性能等)吗?或者有什么有用的方法可以取消操作?

4

0 回答 0