Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XMLSerializer-无参数构造_C#_Constructor_Xmlserializer - Fatal编程技术网

C# XMLSerializer-无参数构造

C# XMLSerializer-无参数构造,c#,constructor,xmlserializer,C#,Constructor,Xmlserializer,我有以下课程: [Serializable] public class ClassOne : ClassTwo { private string _parameterOne; private string _parameterTwo; private string _parameterThree; public Category (string parameterOne, string parameterTwo, string parameterThre

我有以下课程:

    [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);
}

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

添加空构造函数。对于要序列化的字段,应该使用公共属性

[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;
    }
}

添加一个无参数构造函数!