.Net Xml 序列化程序使用私有属性名称而不是 public 一个

.Net Xml Serializer uses private attribute name instead of public one

我用 xsd.exe 生成了一个 class,结果是这样的(部分):

public partial class MyClass{       

    private SignatureType signatureField;

    [System.Xml.Serialization.XmlElementAttribute(Namespace = "http://www.w3.org/2000/09/xmldsig#")]
    public SignatureType Signature {
        get {
            return this.signatureField;
        }
        set {
            this.signatureField = value;
        }
    }    
}

我正在编写一个 Asp.Net 5 控制器,该控制器将对象输出为 XML,问题是序列化程序使用私有 属性 的名称而不是public 一个这样结束

<MyClass>
    <signatureField></signatureField>
</MyClass>

带有字段后缀。

可能是什么原因造成的?

谢谢

我删除了 [Serializable] 属性。

谢谢