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

本文关键字:cs 文件 合并 注释 XML | 更新日期: 2023-09-27 18:31:12

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

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

有没有办法做到这一点?

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

我偷看了 xsd.exe 的 v8.1A 版本的 SDK(它是用 .NET 编写的,所以你可以使用 JustDecompile 这样的工具来查看它的作用)。驱动 XSD->C# 生成的方法称为 ImportSchemasAsClasses 。它的作用是将 XSD 文件读入原始XmlSchemas实例,将带有 XmlSchemaImporter 类的架构导入到称为类型映射的抽象模型中,然后将具有 XmlCodeExporter 类的代码生成到 Code DOM 类中。从链接中可以看出,这些是公共的,但未记录的API。但是你可以很容易地复制xsd.exe所做的(你只需要调用公共的.NET API,只需复制并粘贴xsd.exe所做的),并点击正确的位置将一些注释添加到Code DOM中,漂亮又干净,不需要字符串操作。