Как получить все методы в классе и сохранить в файле с помощью DXCore?
Я пытаюсь написать простое консольное приложение в качестве ученика с открытым API-интерфейсом Dxcore. Я проанализировал файл C#, используя следующую строку кода.
LanguageElement parsedFile = parser.ParseFile(fileLocation)
и я хочу попробовать несколько простых вещей в этом файле. Поэтому я пытался получить все методы в этом файле и его параметры и поместить их в список.
Я видел свойство, которое будет делать это, но не мог его использовать.
DevExpress.CodeRush.StructuralParser.TypeDeclaration.AllMethods
Также будет полезно несколько ссылок на документацию по разработке плагинов Dxcore.
Заранее спасибо.
2 ответа
Вы можете привести свою ссылку "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...
}
Эта ссылка, вероятно, может быть немного полезной: Как перечислить элементы решения и исходного кода, используя DXCore
Я полагаю, что вы ищете следующий код.
SourceFile parsedFile = CodeRush.Language.Parse(fileName);
foreach (TypeDeclaration type in parsedFile.AllTypes)
{
foreach (Method method in type.AllMethods)
{
// do stuff
}
}
Обратите внимание на изменение с LanguageElement на SourceFile.