是否可以对使用.Net XSD.exe工具生成的类名进行任何控制?
答案 0 :(得分:6)
基本上没有。如果您手动编写类,则可以:
[XmlType("bar")]
class Foo {}
但是,您无法使用xsd生成的类执行此操作。不幸的是,您无法对partial class
执行的操作之一是将其重命名。当然,您可以使用xsd
生成它,更改.cs文件并且不再生成,但这不适合维护。
答案 1 :(得分:6)
据我所知,我不认为这是可能的,类名几乎完全匹配模式中的什么。
我个人会在XSD生成代码后更改类名,但说实话我通常只是坚持XSD生成的内容。然后,阅读代码的其他人更容易理解哪些类映射到XML的哪些部分。
或者,如果您可以控制架构,可以更新它吗?
答案 2 :(得分:2)
任何具有深度嵌套的架构都会以完全没用的名称结束。
我不知道如何解决这个问题,但我的建议至少要减少负面影响是这样的:定义一个非常命名类型的别名列表。这样,您可以编写不完全不可读的代码而不会失去重新生成的能力。
using AgentAddress = Example.Namespace.DataContract.RootElementNestedElementAgentAddress; ...
遗憾的是,这个列表本身必须被复制粘贴到需要它的所有代码文件中,但我认为这至少构成了一种改进。