0

我想用下面的代码从源代码中提取带有注释行的行号

foreach (Match match in re.Matches(FileText))
{
    StackFrame CallStack = new StackFrame(0, true);
    sb.Append(match.ToString() + CallStack.GetFileLineNumber() + System.Environment.NewLine);
}
return sb.ToString();

如何使用行号捕获每个评论,例如 /* 测试评论 */ 行:50

4

1 回答 1

0

程序集中没有“文档”。文档以 XML 文件的形式生成,应与程序集一起分发。从调用堆栈中,您可以获得类和方法的名称。如果您知道 XML 文件的位置,那么您可以例如参考http://jimblackler.net/blog/?p=49,他们按照大多数方法阅读文档。

然而,这不是 .Net 做这些事情的方式。为了获得额外的编译时注释,这些注释将在编译过程中继续存在并且将在运行时出现,.Net 允许您引入应用于方法、类、字段、属性、枚举(....) . 查看该链接,查看“作者”属性的示例,并考虑将魔术注释更改为属性。这是在整个 .Net 中执行此操作的正常方式,而不仅仅是 C#。

从调用堆栈中读取 MethodInfo 后,您可以GetCustomAttributes对其进行调用,并读取您在其中写入的数据,请参阅http://msdn.microsoft.com/en-us/library/system.reflection.methodinfo.aspx

于 2012-08-13T19:59:12.293 回答