如何识别C#源代码中的注释? 我想从评论中检索所有信息。
public class TestClass
{
/// <summary>
/// Sample method
/// </summary>
/// <param name="a">1 argument</param>
/// <param name="b">2 argument</param>
/// <param name="c">3 argument</param>
/// <returns>true or false</returns>
/// <exception cref="NotImplementedException">Always throw exception</exception>
public bool Method(int a, object b, Panel c)
{
throw new NotImplementedException();
}
}
答案 0 :(得分:5)
最简单的方法是启用xml注释生成(项目属性 - &gt;构建),并解析xml文件......
<?xml version="1.0"?>
<doc>
<assembly>
<name>ClassLibrary2</name>
</assembly>
<members>
<member name="M:TestClass.Method(System.Int32,System.Object,System.Windows.Forms.Panel)">
<summary>
Sample method
</summary>
<param name="a">1 argument</param>
<param name="b">2 argument</param>
<param name="c">3 argument</param>
<returns>true or false</returns>
<exception cref="T:System.NotImplementedException">Always throw exception</exception>
</member>
</members>
</doc>
答案 1 :(得分:1)
如果你真的想得到gung ho,你可以构建一个解析器。我想这取决于你想要实现的目标,原因,以及你需要投入的资源/时间。如果您要尝试解析C#,请考虑ANTLR或其他解析器/编译器生成器。
我跳到复杂范围的另一端,但我不知道你的情况,所以它可能是合适的。
如果没有完整的解析器,评论可能会很棘手。考虑这些边缘情况:
// Blah blah // another double slash on the same line.
/*
What about multi-line comments?
*/
/*
// What about double-slash comments inside of multi-line comments?
*/
(而我只是抓住这些边缘情况的表面)。
答案 2 :(得分:0)
我不确定您计划如何呈现此数据,但有一个名为nDoc的开源项目可以很好地在网页中格式化这些信息。
要使用nDoc,您需要在项目设置中启用xml输出。这将以XML格式提供您的所有评论。
即使你没有使用nDoc,他们在启用XML输出时也有一些不错的instructions
答案 3 :(得分:0)