【问题标题】:Classes Generated with XSD.exe Custom Class Names使用 XSD.exe 自定义类名生成的类
【发布时间】:2009-03-14 20:50:39
【问题描述】:

是否可以控制使用 .Net XSD.exe 工具生成的类名?

【问题讨论】:

标签: c# .net xsd.exe


【解决方案1】:

据我所知,我认为这是不可能的,类名几乎与架构中的内容完全匹配。

我个人会在 XSD 生成代码后更改类名,但老实说,我通常只是坚持使用 XSD 生成的内容。这样其他人阅读代码就更容易理解哪些类映射到 XML 的哪些部分。

或者,如果您可以控制架构,您可以更新它吗?

【讨论】:

    【解决方案2】:

    基本上没有。如果您手动编写类,您可以:

    [XmlType("bar")]
    class Foo {}
    

    但是,您不能对 xsd 生成的类执行此操作。不幸的是,您不能partial class 做的一件事就是重命名它。当然,你可以使用xsd来生成它,更改.cs文件不再生成它,但这并不适合维护。

    【讨论】:

      【解决方案3】:

      任何嵌套较深的模式都会以完全无用的名称结束。

      我不知道有什么方法可以解决这个问题,但我至少可以减少负面影响的建议是:为名称非常糟糕的类型定义一个别名列表。通过这种方式,您可以编写并非完全不可读的代码,而不会失去重新生成的能力。

      使用 AgentAddress = Example.Namespace.DataContract.RootElementNestedElementAgentAddress; ...

      很遗憾,这个列表本身必须复制粘贴到所有需要它的代码文件中,但我认为这至少构成了一种改进。

      【讨论】:

        猜你喜欢
        • 2011-05-18
        • 2022-01-20
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-28
        相关资源
        最近更新 更多