C# 从XSD生成易于使用和注释的C类,这些类可能会发生变化

C# 从XSD生成易于使用和注释的C类,这些类可能会发生变化,c#,xml,visual-studio,xsd,C#,Xml,Visual Studio,Xsd,在最近的一个项目中,我们需要通过HTTP与XML web服务对话。该项目将运行很长一段时间,我们知道,在这段时间内,XML的模式可能会发生一些变化,尽管不会发生剧烈的变化 该服务有一组XSD文件,我们打算使用VisualStudio的xsd2code从这些XSD生成类 然而,我有一些想法/担忧。类中属性的名称有点简略,我想让它们更友好一些,所以 private string ix_Rep_St { get; } 我宁愿它是这样的: private string BookingStatus 更

在最近的一个项目中,我们需要通过HTTP与XML web服务对话。该项目将运行很长一段时间,我们知道,在这段时间内,XML的模式可能会发生一些变化,尽管不会发生剧烈的变化

该服务有一组XSD文件,我们打算使用VisualStudio的xsd2code从这些XSD生成类

然而,我有一些想法/担忧。类中属性的名称有点简略,我想让它们更友好一些,所以

private string ix_Rep_St { get; }
我宁愿它是这样的:

private string BookingStatus
更好的是,我希望它有intellisense,我可以通过编辑生成的类来添加它,但是正如前面提到的,我们希望这些会发生一些变化,这可能意味着必须重新生成它

我在寻找一种方法,最终得到一组与该服务一起工作的类,这些类很容易针对ie进行编码,它们使用可读的语法并具有intellisense。我不知道该怎么做才好

我的选择似乎是:

查找以从生成的类文件中分离注释? 每次生成并忍受它,让一些更高级别的类与这些来自服务的命名粗糙的类交互,这些类应该保持混乱。 用添加了intellisense的新的人性化包装器包装我的所有类。将XSD存储在源代码管理中,并在发生更改时使用它高亮显示,然后手动将其添加到源代码管理中 包装器听起来很吸引人,如果不是因为我需要包装的文件数量,根据我的粗略计算是30多个,这让它感觉有点费劲


有什么建议/想法吗?

可以使用分部类。一个文件将包含生成的代码,通常会看到类似ClassName.g.cs的文件名,另一个文件将是您要添加到生成的代码中的文件,例如BookingStatus属性之类的包装器,它只返回/设置ix_Rep_St,等等。。。缺点是生成的代码必须在类声明中包含分部。但是,我认为XSD一代UTIL做到了这一点。