3

我正在尝试使用 Dxcore open Api 编写一个简单的控制台应用程序作为学习者。我已经使用以下代码行解析了一个 C# 文件。

   LanguageElement   parsedFile = parser.ParseFile(fileLocation)  

我想在这个文件上尝试一些基本的东西。所以我试图获取这个文件中的所有方法及其参数并将它们放在一个列表中。

我看到了一个可以执行此操作但无法使用它的属性。

  DevExpress.CodeRush.StructuralParser.TypeDeclaration.AllMethods

Dxcore 插件开发文档上的一些链接也会有所帮助。

提前致谢。

4

2 回答 2

4

您可以将“parserFile”引用转换为 SourceFile 类型实例,然后使用如下代码:

  SourceFile parsedFile = parser.ParseFile(fileLocation) as SourceFile;
  if (parsedFile != null)
    foreach (TypeDeclaration type in parsedFile.AllTypes)
      foreach (Method method in type.AllMethods)
        foreach (Param param in method.Parameters)
        {
          // Do something...
        }

这个链接可能有点帮助:How to enumerate solution and source code items using DXCore

于 2011-04-14T11:27:55.263 回答
2

我相信您正在寻找以下代码。

SourceFile parsedFile = CodeRush.Language.Parse(fileName);
foreach (TypeDeclaration type in parsedFile.AllTypes)
{
    foreach (Method method in type.AllMethods)
    {
        // do stuff
    }
}

注意从LanguageElementSourceFile的变化。

于 2011-04-14T11:24:19.057 回答