首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过namespaceDoc类文件为C#命名空间的<summary>添加注释(不使用SHFB)

如何通过namespaceDoc类文件为C#命名空间的<summary>添加注释(不使用SHFB)
EN

Stack Overflow用户
提问于 2019-12-23 15:37:52
回答 1查看 401关注 0票数 0

我想向C#名称空间添加注释(我不想使用sandcastle)。我已经将空的NamespaceDoc类文件添加到我的项目中。

代码语言:javascript
复制
///<summary>
/// These are some the namespace comments 
///</summary>
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
class NamespaceDoc {
}

当我构建项目时,xml文档以预期的格式出现。

代码语言:javascript
复制
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>MyNamespaceName</name>
    </assembly>
    <members>
        <member name="T:MyNamespaceName.NamespaceDoc">
            <summary>
             These are some the namespace comments 
            </summary>
        </member>        
    </members>
</doc>

但我想要写的实用程序将执行以下操作:在构建过程中,如果类文件NamespaceDoc的注释在<summary>中,xml文档文件应采用以下格式:类NamespaceDoc<summary>将移动到名称空间<summary>,而NamespaceDoc将从xml文档中消失。以下是所需的格式。

代码语言:javascript
复制
?xml version="1.0" encoding="utf-8"?>
<doc>
  <assembly>
    <name>MyNamespaceName</name>
  </assembly>
  <members>
    <member name="N:MyNamespaceName">
      <summary>
             These are some namespace comments
      </summary>
    </member>
  </members>
</doc>

你能帮我写这样的工具吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-12-25 10:11:42

我认为在构建过程中很难更改xml。因此,我建议您可以使用c#代码来修改代码。

下面是一个代码示例。

代码语言:javascript
复制
    var doc = XDocument.Load("Mynamespace.xml");
    var result = doc.Descendants("member");
    foreach (var item in result)
    {
        if(item.Attribute("name").Value== "T:Mynamespace.NamespaceDoc")
        {
            item.Attribute("name").Value= item.Attribute("name").Value.Replace(".NamespaceDoc", " ");
        }

    }
    doc.Save("Mynamespace.xml");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59451655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档