如何解决XSD exe具有相同名称分隔的多个类 示例:
使用XSD.exe从XSD文件生成类时,我尝试做的事情会出现某些问题。
我有几个(〜10)XSD文件,它们相互依存,自上而下,也有一些交叉关系。可以使用XSD.exe工具将这些文件转换为C#文件。因为它们彼此依赖,所以它们都应该在一个命令中生成。
xsd.exe /c xsdfile1.xsd xsdfile2 xsdfile3 xsdfile4 /n:My.csharp.namespace
除了具有相似名称的类之外,此命令可以正常工作。
假设在xsdfile1.xsd中有一个名为“ User”的类,在“ xsdfile3.xsd”中有一个名为“ User”的类,在生成后,这些类将分别命名为“ User”和“ User1”,因为他们使用相同的名字会发生冲突。
我的问题如下:是否有可能,而不是在类名的末尾添加数字,而是将这些类分成多个命名空间(更好的是具有多个命名空间的多个文件),以便它们可以具有相同的名称?尽可能使用xsd.exe工具。
很遗憾,我无法在多个文件中重命名重复的类名,因为这些XSD文件已在我工作的公司中广泛使用。
示例:
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd","4.8.3928.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(TypeName="MyObject",Namespace="http://www.example.com/schemas/Extension")]
[System.Xml.Serialization.XmlRootAttribute("myobject",Namespace="http://www.example.com/schemas/Extension",IsNullable=false)]
public partial class MyObject1 : MyObject {
/// several properties here
}
MyObject1末尾不应添加1。如果生成器执行以下操作,则可以解决此问题:
public partial class MyObject : My.other.namespace.MyObject {
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。