1

我正在为以下 C# 源创建简单的文档映射。

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

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

结果应以树视图或列表视图的形式呈现,方式如下:

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

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

4

2 回答 2

7

您绝对不能使用正则表达式来解析 C# 源代码,因为 C# 没有常规语法。

您可以使用 Roslyn:http: //blogs.msdn.com/b/csharpfaq/archive/2011/10/19/introducing-the-microsoft-roslyn-ctp.aspx

或者,使用当前的 C# 编译器(或System.CodeDom.Compiler.CodeDomProvider.CreateProvider("CSharp").CompileAssemblyFromSource()方法)将代码编译为新程序集,加载该程序集并使用反射对其进行分析。

于 2013-10-28T15:37:39.100 回答
0

Visual Studio 已经有了类似的东西。您可以使用 CS 文件旁边的箭头单击并获取该文件中所有方法和变量的列表。如果他们是私人的,它甚至会显示一个挂锁。

于 2013-10-28T15:38:22.397 回答