识别C#源代码中的注释
如何识别C#源代码中的注释? 我想从评论中检索所有信息识别C#源代码中的注释,c#,visual-studio-2008,C#,Visual Studio 2008,如何识别C#源代码中的注释? 我想从评论中检索所有信息 public class TestClass { /// <summary> /// Sample method /// </summary> /// <param name="a">1 argument</param> /// <param name="b">2 argument</pa
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();
}
}
公共类TestClass
{
///
///抽样法
///
///1参数
///2.论点
///3论点
///真假
///总是抛出异常
公共布尔方法(int a、对象b、面板c)
{
抛出新的NotImplementedException();
}
}
最简单的方法是启用xml注释生成(项目属性->构建),并解析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>
班级图书馆2
抽样法
1参数
2.论点
3论点
真假
总是抛出异常
我不确定您打算如何呈现这些数据,但有一个名为的开源项目,它可以在网页中很好地格式化这些信息
为了使用nDoc,您需要在项目设置中启用xml输出。这将以XML格式获取所有注释
即使您不使用nDoc,他们也会很好地启用XML输出Marc的答案是您最好的选择。如果您想(出于某种原因)手动执行此操作,则需要查找以///开头的连续行,将它们连接起来,然后将该字符串视为XML。如果您确实想获得“工作”,可以构建一个解析器。我想这取决于你想要实现什么,为什么,以及你必须投入多少资源/时间。如果你想解析C语言,考虑一下另一个解析器/编译器生成器。 我跳到了复杂性谱的另一端,但我不知道你的情况,所以这可能是合适的 如果没有成熟的解析器,注释可能会很棘手。考虑这些边缘情况:
// Blah blah // another double slash on the same line.
/*
What about multi-line comments?
*/
/*
// What about double-slash comments inside of multi-line comments?
*/
(我只是用这些边缘案例来描述表面)。但是如果没有XML文件,我该怎么办?它可以使用正则表达式?好吧,如果你有C#,你总是可以编译它来获得xml文件。。。你可以试试正则表达式,但这并不容易。但我没有访问该项目的权限,也无法编译它。我只有一些文件。