我正在开发一个ASP.NET应用程序,它有一个继承自定义对象列表的类。
public class UserRoleList : List<UserRoleBO> {
public UserRoleList() { }
}
如何在C#中使这个类可序列化?
答案 0 :(得分:2)
我相信你真的需要确保UserRoleBO是可序列化的,列表将自行处理。这假定您要序列化的值是UserRoleBO和UserList上的公共属性。有关详细信息,请参阅What is the point of the ISerializable interface?
答案 1 :(得分:2)
您需要执行以下操作
最简单的方法是将[Serializable]属性添加到类中。这在大多数情况下都有效。
另一方面,从List<T>
派生出来通常是一个坏主意。这个类并不是从派生出来的,并且在从List<T>
引用中使用派生类的sceanarios中可以阻止任何专门化它的行为的尝试。你能解释一下为什么要以这种方式推导出来吗?可能有更强大的解决方案。
答案 2 :(得分:1)
像这样:
[Serializable]
public class UserRoleList : List<UserRoleBO> {
public UserRoleList() { }
}
(注意'Serializable'标签需要在所有需要序列化的类上(所以父类也是如此。
然后使用二进制序列化来完成它。