2014-11-20 56 views
4

从C#类文件中提取注释相对容易(请参阅Extracting doc comments from C# source file),但最近我遇到了相反的问题。如何将XML注释合并回.cs文件?

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

是否有某种方法可以执行这个?

+0

对不起,但工具建议是离题。 – tnw 2014-11-20 21:14:34

+1

重写为(希望)使它更多的话题。 – gcarvelli 2014-11-20 21:16:19

回答

3

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

+1

有关于如何在MSDN上创建自定义XML映射的文章http://msdn.microsoft.com/en-us/library/aa302301.aspx – 2014-11-20 21:39:44

+0

谢谢。这听起来像一个好主意,我喜欢反编译和重新使用MS代码的想法。 – gcarvelli 2014-11-20 21:39:55