【问题标题】:Any way to convert C# XML Comments into C# Comment? [closed]有什么方法可以将 C# XML 注释转换为 C# 注释? [关闭]
【发布时间】:2012-11-11 16:44:01
【问题描述】:

更新: ILSPY、DotPeek 和 JustDecompile 自动支持我正在寻找的内容。

我只想将我的 C# XML 注释转换为注释。

输入

<member name="P:...">
      <summary>.......</summary>
      <returns>
        ......
      </returns>
</member>

输出

/// <summary>
/// ...
/// </summary>
/// <returns>...</returns>

【问题讨论】:

  • 有什么问题?
  • 我有一个很大的 C# 注释 xml 文件。我需要将其转换为 C# cmets。手动执行此操作对我来说很痛苦,@JaroslawWaliszko
  • 好的...您的方法有什么问题?
  • @BobHorn,目前我正在创建现有程序集的一些扩展方法。我有这个程序集的 xml 文件。因此,我需要在我的扩展方法中使用相同的 C# 特殊 cmets(已在程序集中使用)
  • @user960567 What have you tried?

标签: c# xml c#-4.0


【解决方案1】:

如果没有更多关于您最终试图摆​​脱它的上下文,这应该将 Xml 转换为 cmets。这里没有什么真正棘手的事情......

string content =
@"<member name=""P:..."">
  <summary>This is the summary.</summary>
  <returns>This is the return info.</returns>
  </member>";

XDocument doc = XDocument.Parse(content);                        
foreach (var member in doc.Descendants("member"))
{
     StringBuilder sb = new StringBuilder();

     sb.AppendLine("/// <summary>");
     sb.AppendLine("/// " + member.Descendants("summary").Select(e => e.Value).FirstOrDefault());
     sb.AppendLine("/// </summary>");

     sb.AppendLine("/// <returns>");
     sb.AppendLine("/// " + member.Descendants("returns").Select(e => e.Value).FirstOrDefault());
     sb.AppendLine("/// </returns>");

     // sb.ToString() contains the comments for this member
 }

您可能需要做更多工作才能完全按照自己的意愿进行操作。

【讨论】:

  • xml注释文件中除了summary和return还有很多其他的东西
  • 我同意,但您并没有真正多说什么,也没有将这些内容包含在您的输入/输出中。更精确的问题会得到更精确的答案。
  • 这是尝试回答此类一般性问题的问题。干得好。
  • 我需要将 assembly.xml 中的所有内容都转换为 C# cmets。
  • @user960567 问题是您向我们提出要求并期望我们为您完成这项工作。你需要展示你为完成这个问题所做的努力,然后询问你具体卡在哪里的问题。如果你想让我为你做这件事,我们可以谈谈我这样做的费用。
猜你喜欢
  • 2018-05-19
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
  • 2010-12-03
  • 2010-09-24
  • 2020-12-29
  • 2012-07-28
相关资源
最近更新 更多