c# - XMLSerializer - 无参数构造

标签 c# constructor xmlserializer

我有以下类(class):

    [Serializable]
public class ClassOne : ClassTwo
{
    private string _parameterOne;
    private string _parameterTwo;
    private string _parameterThree;

    public Category (string parameterOne, string parameterTwo, string parameterThree)
    {
        _parameterOne = parameterOne;
        _parameterTwo = parameterTwo;
        _parameterThree = parameterThree;
    }
}

然后我想使用 XMLSerializer:

private void Serialize()
{
    XmlSerializer xmlSerializer = new xmlSerializer(typeof(ClassOne));

    xmlSerializer.Serialize(stream, object);
}

但是,我无法序列化该类,因为它没有无参数构造...我该如何实际解决这种情况?

最佳答案

添加空构造函数。并且您应该为要序列化的字段使用公共(public)属性

[Serializable]
public class ClassOne : ClassTwo
{
    private string _parameterOne;
    private string _parameterTwo;
    private string _parameterThree;

    public Category() { }
    public Category (string parameterOne, string parameterTwo, string parameterThree)
    {
        _parameterOne = parameterOne;
        _parameterTwo = parameterTwo;
        _parameterThree = parameterThree;
    }
}

关于c# - XMLSerializer - 无参数构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35767557/

相关文章:

c# - 用于验证 URL 或域名的正则表达式。

xml - 使用 VB.net 或 C# 将具有不同 ElementName 的 xml 序列化为同一对象

c# - 为什么 DataInputStream.readline 在字符串开头添加奇怪的字节

python - 避免在子类中指定所有参数

java - PaintComponent 从未被调用

c# - 如何为要与 XmlSerializer 一起使用的可选 XML 元素修饰/定义类成员?

c# - WindowsApplication C# 构造函数 : Form1 could not be found

c# - 为什么我的异步方法不等待 "serialPort = await SerialDevice.FromIdAsync()"?

C# 测试堆栈.White : sometimes unable to find button

c++ - 将基类构造函数复制到子类?