我有许多派生自抽象基类的类。这些派生类需要序列化为XML,但是它们没有无参数构造函数。有大量的派生类,所以我不想再回过头来为它们添加一个无参数的构造函数。
我希望我能用基类做一些事情,这样就可以序列化它们而不必修改每个单独的类。任何人都知道如何实现这一目标?
以下是这些课程的基本示例:
public abstract class MyBase
{
internal MyBase()
{ }
//Various abstract properties here
}
public class MyDerivedClass : MyBase
{
//Various methods/Properties here
}
答案 0 :(得分:0)
您将遇到的最大问题是,您无法对MyBase
的实例进行反序列化,因为它是抽象的。这意味着您将需要对如何构造类进行一些操作。
可能是这样的情况,你只需要点击并添加一个适当的构造函数,无参数构造函数并依赖于默认的[Serializable]
属性,或者通过实现{{1来自定义类的序列化方式}}