2011-04-14 18 views
3

我正在嘗試使用Dxcore打開Api來編寫一個簡單的控制檯應用程序作爲學習者。我使用下面的代碼行解析了一個C#文件。如何獲得一個類中的所有方法並存儲在一個文件中使用DXCore?

LanguageElement parsedFile = parser.ParseFile(fileLocation) 

我想在這個文件上嘗試一些基本的東西。所以我試圖獲取這個文件及其參數中的所有方法,並將它們放在一個列表中。

我看到一個屬性會做到這一點,但無法使用它。

DevExpress.CodeRush.StructuralParser.TypeDeclaration.AllMethods 

上Dxcore插件開發單證另外幾個環節將是有益的。

在此先感謝。

回答

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

2

我相信你正在尋找下面的代碼。

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

注意從LanguageElement的SourceFile的變化。

+0

謝謝羅裏, SourceFile parsedFile = parser.ParseFile(filelocation)as SourceFile;因爲我用過CSharp30Parser parser = new CSharp30Parser();。我不知道我必須爲SourceFile中的CodeRush導入命名空間parsedFile = CodeRush.Language.Parse(fileName);. – Sachin 2011-04-14 13:01:39

相關問題