微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何防止 xsd.exe 创建不可编译的 C#

如何解决如何防止 xsd.exe 创建不可编译的 C#

我目前正在尝试使用 xsd.exe 生成 C# 代码,以便将其与 System.Xml.Serialization 一起使用。

我正在使用的命令是下一个

xsd.exe path\to\eExact-XML.xsd /c /namespace:Namespace.Models /o:path\to\Namespace\Models

唉,由于下一个生成的片段,生成代码不可编译:

/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public object System {
    get {
        return this.systemField;
    }
    set {
        this.systemField = value;
    }
}

其中一个生成的类包含一个名为 System属性,它会在 XmlElementAttribute 中呈现以下编译器错误

eExact-XML.cs(25799,60): [CS0120] An object reference is required for the non-static field,method,or property 'GLTransactionLineIntraStat.System'

我目前的解决方案是简单地从生成的类中删除罪魁祸首,但我认为这不是一个优雅的解决方案。

有什么方法可以告诉 xsd.exe 重命名某些属性,或者忽略部分 xsd 规范吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。