如何将 XML 注释合并回 .cs 文件?

gca*_*lli 5 c# xml xsd xml-comments

从 C# 类文件中提取注释相对容易(请参阅从 C# 源文件中提取文档注释),但我最近遇到了相反的问题。

我的项目有一堆从 XML 模式生成的类(通过 Microsoft 的xsd.exe)。我想写出关于这些类的 XML 文档,但我们必须经常重新创建它们。我希望能够写出注释,将它们提取到自己的 .xml 文件中,运行xsd.exe以从架构中重新创建类,然后将注释合并回来。

有什么方法可以做到这一点吗?

fej*_*oco 3

我查看了 SDK v8.1A 版本的 xsd.exe(它是用 .NET 编写的,因此您可以使用 JustDecompile 等工具来查看它的作用)。驱动 XSD->C# 生成的方法称为ImportSchemasAsClasses。它的作用是将 XSD 文件读入原始XmlSchemas实例,将架构与XmlSchemaImporter类一起导入(导入称为类型映射的抽象模型),然后将类与代码一起生成XmlCodeExporterCode DOM类中。正如您从链接中看到的,这些是公开的,但未记录的 API。但是您可以轻松复制 xsd.exe 的功能(您只需要调用公共 .NET API,只需复制并粘贴 xsd.exe 的功能)并点击正确的位置将一些注释添加到代码 DOM 中,干净整洁,不需要字符串操作。