文本层次读C#

文本层次读C#,c#,hierarchical-data,C#,Hierarchical Data,我被一个看似简单的问题困住了。我想读一个写得有点像c代码的文本层次结构 考虑一个可以有许多类的公共名称空间,一个类可以有许多方法,甚至一个方法可以有另一个方法(只是n级概念)。我希望结果是: 通用MyClass1方法1 HelloWorld 通用MyClass1方法1再见 常用的MyClass1方法2说早安 通用MyClass2方法3 M3 这可以是n级,任何帮助或指导都将受到高度赞赏使用堆栈对象跟踪当前名称空间。每次看到“{”时,将上一行推到堆栈上。每次看到“}”时,将弹出堆栈。如果行以“;”

我被一个看似简单的问题困住了。我想读一个写得有点像c代码的文本层次结构

考虑一个可以有许多类的公共名称空间,一个类可以有许多方法,甚至一个方法可以有另一个方法(只是n级概念)。我希望结果是:

通用MyClass1方法1 HelloWorld
通用MyClass1方法1再见
常用的MyClass1方法2说早安
通用MyClass2方法3 M3


这可以是n级,任何帮助或指导都将受到高度赞赏

使用堆栈对象跟踪当前名称空间。每次看到“{”时,将上一行推到堆栈上。每次看到“}”时,将弹出堆栈。如果行以“;”结尾,则使用堆栈上的当前值来构建名称空间,然后将当前行作为方法名追加

Common
{
  MyClass1
  {
    Method1
    {
      "Helloworld";
      "GoodBye";     
    }
    Method2
    {
      "SayGoodMorning";
    }
  }
  MyClass2
  {
    Method3
    {
      "M3";
    }
  }
}