正则表达式来解析C#源代码[重复](Regex to parse C# source code [d

2019-10-18 20:52发布

这个问题已经在这里有一个答案:

  • 解析器C# 15的答案

我是在下面的C#源创建简单的文档结构图的过程。

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }

    public string DoSomething(string x)
    {
        return "Hello " + x;
    }
}

结果应在树状或ListView被呈现,在以下方式:

Person
-- Name
-- Age
-- DoSomething()

所以,问题是,有没有它处理C#源代码中的正则表达式或库?

Answer 1:

你绝对不能使用正则表达式解析C#源为C#没有一个正规的语法。

你可以使用,虽然罗斯林: http://blogs.msdn.com/b/csharpfaq/archive/2011/10/19/introducing-the-microsoft-roslyn-ctp.aspx

可替代地,使用当前的C#编译器(或System.CodeDom.Compiler.CodeDomProvider.CreateProvider("CSharp").CompileAssemblyFromSource()方法)的代码编译到一个新的组件,加载组件和使用反射来分析它。



Answer 2:

Visual Studio中已经有类似的东西。 你可以使用旁边的箭头CS文件通过点击并获得在该文件中所有的方法和变量的列表。 它甚至可以显示一个挂锁,如果它们是私有的。



文章来源: Regex to parse C# source code [duplicate]
标签: c# regex parsing