Это можно сделать с помощью синтаксических анализаторов, которые являются частью DXCore и CodeRush.
В версии 10.2 мы выпустили автономные библиотеки синтаксического анализатора для C # и VB (часть свободно загружаемого DXCore), поэтому ссылки на библиотеки синтаксического анализа сделают это очень простым что ты ищешь.
Если вам нужна помощь в этом, просто напишите support@devexpress.com по любым вопросам.
Вот пример кода, который можно использовать для заполнения ListBox пространствами имен, используемыми в некотором файле:
string filePath = @"InsertFilePathHere";
CSharp30Parser parser = new CSharp30Parser();
SourceFile fileNode = parser.ParseFile(filePath) as SourceFile;
if (fileNode == null || fileNode.UsingList == null)
return;
lbUsedNamespaces.Items.Clear();
for (int i = 0; i < fileNode.UsingList.Count; i++)
{
string strUsing = fileNode.UsingList.GetKey(i) as String;
if (String.IsNullOrEmpty(strUsing))
continue;
lbUsedNamespaces.Items.Add(strUsing);
}