是否可以控制使用 .Net XSD.exe 工具生成的类名?
Steve Horn
问问题
7005 次
3 回答
6
基本上,没有。如果您手动编写类,您可以:
[XmlType("bar")]
class Foo {}
但是,您不能对 xsd 生成的类执行此操作。不幸的是,你不能用 a 做的事情之一partial class
就是重命名它。当然,您可以使用xsd
它来生成它,更改 .cs 文件并不再生成它,但这并不适合维护。
于 2009-03-14T21:11:20.283 回答
6
据我所知,我认为这是不可能的,类名几乎与模式中的内容完全匹配。
我个人会在 XSD 生成代码后更改类名,但老实说,我通常只坚持 XSD 生成的内容。这样其他人阅读代码就更容易理解哪些类映射到 XML 的哪些部分。
或者,如果您可以控制架构,您可以更新它吗?
于 2009-03-14T21:11:24.010 回答
2
任何嵌套较深的模式都会以完全无用的名称结束。
我不知道有什么方法可以解决这个问题,但我至少可以减少负面影响的建议是:为名称非常糟糕的类型定义一个别名列表。通过这种方式,您可以编写并非完全不可读的代码,而不会失去重新生成的能力。
使用 AgentAddress = Example.Namespace.DataContract.RootElementNestedElementAgentAddress; ...
It's a pity this list itself has to be copy-pasted to all code files needing it, but I think this at least constitutes an improvement.
于 2011-11-21T13:07:41.943 回答